JavaRush /Блоги Java /Random-TG /Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат к...

Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем

Дар гурӯҳ нашр шудааст
Ин мавод як қисми силсилаи " Муқаддима ба рушди корхона " мебошад. Қисми аввал дар бораи шабака дар ин ҷост . Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем - 1Архитектураи нармафзор сохторест, ки дар асоси он замима сохта мешавад ва модулҳо ва ҷузъҳои тамоми барнома мутақобила мекунанд. Барномасозон муддати тӯлонӣ кӯшиш мекарданд, ки меъмории хуб эҷод кунанд, бинобар ин тааҷҷубовар нест, ки мо ҳоло бисёр намунаҳои меъмориро медонем. Шумо бояд онҳоро фаҳмед: вақте ки шумо веб-барнома менависед, мушкилоти меъморӣ тезу тунд мешавад, зеро дар он нисбат ба замимаи муқаррарӣ ҷузъҳо ва модулҳо зиёданд. Намунаи меъморӣ як роҳи аллакай андешидашудаи ҳалли баъзе мушкилоти тарроҳии нармафзор мебошад. Эҳтимол шумо аллакай бо намунаҳои тарроҳӣ дучор шудаед, аз қабor Усули Фабрика, Фабрикаи абстрактӣ, Сохтмон, Прототип, Синглтон ва шояд дигарон. Онҳо танҳо барои навиштани code, эҷоди синфҳо ва нақшаи муоширати онҳо истифода мешаванд. Намунаҳои меъморӣ дар сатҳи баландтари абстраксия истифода мешаванд - ҳангоми банақшагирии ҳамкории корбари барнома бо server, додаҳо ва ҷузъҳои дигари лоиҳа. Биёед ба баъзе қолабҳо ва тарзи истифодаи онҳо зуд назар кунем.

Архитектураи муштарӣ-server

Аз номаш чунин таассурот пайдо мешавад, ки ҳама чиз бо ин мавзӯъ оддӣ ва равшан аст. Аммо биёед баъзе нуктаҳоро равшан кунем, то вақте ки шумо ба омӯзиши Баҳори шартӣ шурӯъ мекунед, шумо дақиқ дарк кунед, ки мо дар бораи чӣ гап мезанем. Фарз мекунем, ки шумо чат навиштед ва шумо ва дӯсти шумо аз он истифода мекунед. Варианти оддӣ дар ин ҷо имконпазир аст - шумо тавассути Интернет тавассути суроғаҳои IP, ки шумо медонед, ба ҳамдигар паём мефиристед: Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем - 2Дар аввал чунин ба назар мерасад, ки ҳама чиз хуб кор мекунад, то он даме ки дӯсти дигари шумо бо савол пайдо шавад: "Чаро Шумо маро ба чати худ илова намекунед? Ва ҳангоме ки шумо қарор медиҳед, ки дӯсти муштаракро ба чат илова кунед, шумо бо мушкилоти меъморӣ дучор мешавед: ҳар як корбари чат бояд маълумотро дар бораи шумораи корбарон навсозӣ кунад, суроғаи IP-и корбари навро илова кунад. Ва ҳангоми фиристодани паём, он бояд ба ҳамаи иштирокчиён расонида шавад. Инҳо мушкилоти ошкоро ҳастанд, ки ба миён меоянд. Бисёр мушкилоти бештар дар худи code пинҳон хоҳанд шуд. Барои пешгирӣ кардани онҳо, шумо бояд serverеро истифода баред , ки тамоми маълумотро дар бораи корбарон нигоҳ медорад ва суроғаҳои онҳоро медонад. Паём танҳо бояд ба server фиристода шавад. Ва ӯ, дар навбати худ, паёмро ба ҳамаи гирандагон мефиристад. Вақте ки шумо қарор медиҳед, ки ба сӯҳбати худ як тарафи server илова кунед, шумо ба сохтани меъмории муштарӣ-server шурӯъ мекунед.

Унсурҳои меъмории мизоҷ-server

Биёед бифаҳмем, ки вай чӣ гуна аст. Меъмории муштарӣ-server як намунаи тарроҳӣ, асоси эҷоди барномаҳои веб мебошад. Ин меъморӣ аз се ҷузъ иборат аст: Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем - 3
  1. Мизоҷ - аз ном маълум мешавад, ки ин корбари хадамот (веб-барнома) мебошад, ки барои гирифтани баъзе маълумот бо server тамос мегирад.

  2. Сервер ҷойест, ки дар он барномаи веби шумо ё қисми serverи он ҷойгир аст. Вай маълумоти заруриро дар бораи корбарон дорад ё метавонад онро дархост кунад. Инчунин, вақте ки муштарӣ тамос мегирад, server маълумоти дархостшударо бармегардонад.

  3. Шабака оддӣ аст: он мубодилаи иттилоотро байни муштарӣ ва server таъмин мекунад.

Сервер метавонад шумораи зиёди дархостҳои корбарони гуногунро коркард кунад. Яъне мизоҷ метавонад зиёд бошад ва агар ба онҳо лозим шавад, ки бо ҳамдигар маълумот мубодила кунанд, ин корро тавассути server анҷом додан лозим меояд. Ҳамин тариқ, server боз як вазифаи иловагӣ - назорати трафикро мегирад. Агар мо дар бораи чати бисёркорбаре, ки мо сохтаем, сухан ронем, тамоми codeи барнома аз ду модул иборат хоҳад буд:
  • муштарӣ - дорои интерфейси графикӣ барои авторизатсия, ирсол/қабули паёмҳо;

  • тарафи server - барномаи веб, ки дар server ҷойгир аст ва аз корбарон паёмҳоро қабул мекунад, онҳоро коркард мекунад ва сипас онҳоро ба қабулкунандагон мефиристад.

Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем - 4Вақте ки мо мехоҳем ба маълумоти муфид (ё чандон муфид) дар Интернет назар андозем, мо браузерро мекушоем, дар сатри ҷустуҷӯ дархост ворид мекунем ва дар ҷавоб мо аз системаи ҷустуҷӯ маълумот мегирем. Дар ин занҷир браузер муштарии мост. Он дархостро бо маълумот дар бораи он чизе ки мо меҷӯем, ба server мефиристад. Сервер дархостро коркард мекунад, натиҷаҳои мувофиқтаринро пайдо мекунад, онҳоро ба формате, ки барои браузер (мизоҷ) фаҳмо баста мешавад ва ба бозгашт мефиристад. Дар чунин хидматҳои мураккаб, ба монанди системаҳои ҷустуҷӯ, serverҳои зиёде мавҷуданд. Масалан, serverи авторизатсия, server барои ҷустуҷӯи иттилоот, server барои тавлиди посух. Аммо муштарӣ дар ин бора чизе намедонад: барои ӯ server чизи ягона аст. Мизоҷ танҳо дар бораи нуқтаи воридшавӣ, яъне суроғаи serverе, ки ба он дархост фиристодан лозим аст, медонад. Биёед барномаеро, ки мо дар қисми қаблӣ дида будем, ба ёд орем - барои мониторинги ҳарорати миёнаи ҳаво дар ҳама кишварҳо дар вақти воқеӣ. Меъмории он чунин хоҳад буд: Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем - 5Замимаи мо дар server ҷойгир аст. Фарз мекунем, ки вай дар хар панч сония ба serverхои марказхои гидрометеорологии махаллй дархост мефиристад, аз онхо дар бораи харорат дар ин ё он кишвар маълумот мегирад ва ин маълумотро нигох медорад. Вақте ки муштарӣ бо дархости "бубинед, ки ҳарорати ҷории ҳаво дар ҷаҳон" бо мо тамос мегирад, мо маълумоти охирини захирашударо, ки аз рӯи кишвар ҷудо карда шудаанд, бармегардонем. Ҳамин тариқ, замимаи мо ҳам server (ҳангоми коркарди дархостҳои корбарон) ва ҳам муштарӣ (вақте ки он аз serverҳои дигар маълумот мегирад) мебошад.
Муҳим: мафҳуми server на дар бораи як компютери мушаххас, балки дар бораи муносибати байни муштариёни шабака аст .
Меъмории оддии муштарӣ-server хеле кам ва танҳо барои барномаҳои хеле содда истифода мешавад. Барои лоиҳаҳои воқеан калон ва мураккаб намудҳои гуногуни меъморӣ истифода мешаванд, ки шумо дар оянда бо онҳо бештар шинос хоҳед шуд. Акнун биёед моделеро бубинем, ки ба модели муштарӣ-server хеле монанд аст.

Меъмории сеошёна

Ин як намунаи меъморӣ аст, ки як бозигари сеюмро муаррифӣ мекунад: анбори додаҳо . Ҳангоми истифодаи ин намуна, се сатҳ одатан қабатҳо номида мешаванд: Қисми 2. Биёед каме дар бораи меъмории нармафзор сӯҳбат кунем - 6
  1. Қабати муштарӣ интерфейси корбар аст. Ин метавонад браузери веб бошад, ки ба он саҳифаҳои HTML фиристода мешаванд, ё барномаи GUI бо истифода аз JavaFX навишта шудааст. Муҳим он аст, ки бо ёрии он корбар метавонад ба server дархост ирсол кунад ва посухҳои онро коркард кунад.

  2. Қабати мантиқӣ serverест, ки дар он дархостҳо/ҷавобҳо коркард мешаванд. Онро аксар вақт қабати server низ меноманд. Ҳама амалҳои мантиқӣ низ дар ин ҷо сурат мегиранд: ҳисобҳои математикӣ, амалиёти додаҳо, зангҳо ба хидматҳои дигар ё нигаҳдории маълумот.

  3. Қабати маълумот serverи пойгоҳи додаҳост: serverи мо ба он дастрасӣ пайдо мекунад. Ин қабат тамоми маълумоти заруриро нигоҳ медорад, ки барнома ҳангоми кор истифода мебарад.

Ҳамин тариқ, serverи мо тамоми ӯҳдадориҳоро оид ба дастрасӣ ба додаҳо, бидуни иҷозати дастрасии мустақим ба корбар ба дӯш мегирад.

Манфиатҳои меъмории сеошёна

Бо истифода аз чунин меъморӣ, мо бартариҳои зиёд ба даст меорем, аз ҷумла:
  1. Қобorяти сохтани муҳофизат аз тазриқи SQL ин ҳамла ба serverе мебошад, ки дар он рамзи SQL интиқол дода мешавад ва вақте ки ин code иҷро мешавад, ҳамлакунанда метавонад ба пойгоҳи додаи мо таъсир расонад.

  2. Ҳудуди маълумоте, ки мо мехоҳем дастрасии корбаронро танзим кунем.

  3. Имконияти тағир додани маълумот пеш аз фиристодани он ба муштарӣ.

  4. Миқёспазирӣ - қобorяти васеъ кардани замимаи мо ба якчанд serverҳо, ки як пойгоҳи додаҳоро истифода мебаранд.

  5. Талаботи камтар ба сифати пайвасти корбар. Ҳангоми тавлиди посух дар server, мо аксар вақт аз пойгоҳи додаҳо маълумоти зиёди гуногунро мегирем, онро формат карда, танҳо он чизеро, ки ба корбар лозим аст, боқӣ мегузорем. Ҳамин тариқ, мо миқдори маълумотеро, ки ҳамчун посух ба муштарӣ мефиристем, кам мекунем.

Чӣ қадар вақт шумо бояд намунаҳои меъмориро истифода баред?

Агар шумо бо намунаи тарҳрезии Усули Фабрика шинос бошед , эҳтимол шумо фикр кардаед, ки кай онро истифода баред. Баъзан тасмим гирифтан душвор аст, ки чӣ кор кардан лозим аст: бо истифода аз оператори нав ё бо усули заводӣ an object эҷод кунед. Аммо бо мурури замон фаҳмиш пайдо мешавад. Бо намунаҳои меъморӣ, чизҳо каме фарқ мекунанд. Чаҳорчӯбаҳои корпоративӣ барои барномасоз тарҳрезӣ шудаанд, ки онҳоро барои сохтани лоиҳа дар асоси як намунаи маъмулан қабулшуда истифода баранд. Аз ин рӯ, пеш аз омӯхтани чаҳорчӯбаи баҳор, шумо бешубҳа бояд фаҳмед, ки меъмории мизоҷ-server, меъмории сесатҳи ва меъмории MVC чист. Парво накунед: мо дар бораи меъмории MVC баъдтар сӯҳбат хоҳем кард. Қисми 1. Пеш аз омӯхтани Spring ва JavaEE Чиро бояд донист Қисми 3. Протоколҳои HTTP/HTTPS Қисми 4. Асосҳои Maven Қисми 5. Сервллетҳо. Навиштани замимаи оддии веб Қисми 6. Контейнерҳои сервлет Қисми 7. Муаррифии намунаи MVC (Model-View-Controller) Қисми 8. Навиштани барномаи хурди пурборкунандаи баҳор
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION