Како применити МВЦ архитектуру на Јави?



Овај чланак о МВЦ архитектури на Јави помоћи ће вам да схватите шта је тачно МВЦ образац дизајна и како олакшава дизајнирање веб апликација.

У пољу за веб развој, Модел-Виев-Цонтроллерје један о коме се највише говори у свету веб програмирања данас. МВЦ Архитектура је у почетку била укључена у два главна оквира за веб развој - Струтс и Руби на шинама . У овом чланку истражимо мало о МВЦ архитектури у .

Теме које ће бити обрађене у овом чланку су следеће:





Пре него што заправо г.У техничке детаље МВЦ Архитектуре постоје одређени концепти које треба да знате.

  • Дизајн образац , у софтверском инжењерству, је техника за решавање проблема који се често јављају приликом дизајнирања софтвера.
  • Дизајнирање модела, одређује који тип архитектуре користите за решавање проблема или дизајнирање модела.
  • Постоје два врсте дизајнерских модела : Модел 1 Архитектура , Архитектура модела 2 (МВЦ).

Шта је МВЦ архитектура у Јави?

Дизајн модела заснован на МВЦ архитектури прати МВЦ а одвајају логику апликације од корисничког интерфејса приликом дизајнирања софтвера. Као што назив имплицира, МВЦ образац има три слоја, а то су:



  • Модел - Представља пословни слој апликације
  • Поглед - дефинише презентацију апликације
  • Контролер - Управља протоком апликације

МВЦ - МВЦ архитектура на Јави - Едурека

У контексту програмирања Јава,модел се састоји од једноставних Јава часови , приказ приказује податке и контролер се састоји од . Ово раздвајање резултира тиме да се захтеви корисника обрађују на следећи начин:



  1. Прегледач на клијенту шаље захтев за страницу управљачу који је присутан на серверу
  2. Контролор врши акцију позивања на модел, при чему, преузима податке који су му потребни као одговор на захтев
  3. Затим контролер даје преузете податке у приказ
  4. Приказ се генерише и враћа клијенту да би се прегледач приказао

Раздвајање софтверске апликације уове три различите компоненте су добра идеја из више разлога. Хајде да погледамо шта су то.

Предности МВЦ архитектуре у Јави

МВЦ архитектура нуди пуно предности програмеру при развоју апликација, које укључују:

  • Више програмера може истовремено радити са три слоја (Модел, Виев и Цонтроллер)
  • Побољшане понуде прилагодљивост , што допуњује способност апликације да расте
  • Како компоненте међусобно слабо зависе, лако их је одржавати
  • Модел се може поново користити у више погледа што омогућава поновну употребу кода
  • Усвајање МВЦ-а чини апликацију изразитијом и једноставнијом за разумевање
  • Проширивање и тестирање апликације постаје лако

Сада знате зашто је МВЦ најпопуларнији у свету веб програмирања. Али, ако се и даље борите да заобиђете концепт МВЦ, не брините. Закопат ћемо дубоко у сваки од ових слојева и сазнати њихову сврху помоћу .

Имплементација МВЦ-а помоћу Јаве

Да бисмо имплементирали веб апликацију засновану на МВЦ дизајнерском обрасцу, креираћемо

  • Разред курса , који делује као слој модела
  • ЦоурсеВиев Цласс , који дефинише презентациони слој ( слој погледа )
  • ЦоурсеЦонтоллер Цласс , који делује као а контролер

Хајде да истражимо ове слојеве један по један.

Модел Лаиер

У МВЦ дизајнерском обрасцу, модел је слој података који дефинише пословну логику система и такође представља стање апликације.Модел предмета преузимају и чувају стање модела у бази података. Кроз овај слој примењујемо правила на податке, што на крају представља концепте којима наша апликација управља. Хајде сада да креирамо модел користећи Разред курса.

пакет МиПацкаге курс јавне класе {привате Стринг ЦоурсеНаме привате Стринг ЦоурсеИд привате Стринг ЦоурсеЦатегори публиц Стринг гетИд () {ретурн ЦоурсеИд} публиц воид сетИд (Стринг ид) {тхис.ЦоурсеИд = ид} публиц Стринг гетНаме () {ретурн ЦоурсеНаме} публиц воид сетНаме (Име низа) {тхис.ЦоурсеНаме = наме} јавни Стринг гетЦатегори () {ретурн ЦоурсеЦатегори} јавна празнина сетЦатегори (категорија низа) {тхис.ЦоурсеЦатегори = категорија}}

Код је лако разумљив и сам по себи је објашњен. Састоји се од функција за добијање / постављање детаља курса.

Слој погледа

Овај слој МВЦ дизајнерског обрасца представља излаз апликације или корисничког интерфејса. Приказује податке које је контролер дохватио из слоја модела и приказује их кориснику кад год се то затражи. Јат добија све информације које су му потребне од контролера и није му потребна директна интеракција са пословним слојем.Створимо приказ помоћу ЦоурсеВиев Цласс.

пакет МиПацкаге јавна класа ЦоурсеВиев {публиц воид принтЦоурсеДетаилс (Стринг ЦоурсеНаме, Стринг ЦоурсеИд, Стринг ЦоурсеЦатегори) {Систем.оут.принтлн ('Детаљи курса:') Систем.оут.принтлн ('Наме:' + ЦоурсеНаме) Систем.оут.принтлн ('ИД курса:' + ЦоурсеИд) Систем.оут.принтлн ('Категорија курса:' + ЦоурсеЦатегори)}}

Овај код јеједноставно за испис вредности на конзолу. Следеће имамо контролер веб апликације.

Слој контролера

Контролер је попут интерфејса између модела и приказа. Прима корисничке захтеве од слоја приказа и обрађује их, укључујући потребне провере ваљаности. Захтеви се затим шаљу моделу за обраду података. Једном када се обраде, подаци се поново шаљу назад контролору и затим приказују у приказу.Створимо ЦоурсеЦонтоллер Цласс који делује као контролор.

пакет МиПацкаге јавна класа ЦоурсеЦонтроллер {приватни модел курса привате ЦоурсеВиев приказ јавни ЦоурсеЦонтроллер (модел курса, приказ ЦоурсеВиев) {тхис.модел = модел тхис.виев = виев} јавна воид сетЦоурсеНаме (име низа) {модел.сетНаме (наме)} јавни низ гетЦоурсеНаме () {ретурн модел.гетНаме ()} публиц воид сетЦоурсеИд (ИД низа) {модел.сетИд (ид)} публиц Стринг гетЦоурсеИд () {ретурн модел.гетИд ()} публиц воид сетЦоурсеЦатегори (категорија низа) {модел.сетЦатегори (цатегори)} публиц Стринг гетЦоурсеЦатегори () {ретурн модел.гетЦатегори ()} публиц воид упдатеВиев () {виев.принтЦоурсеДетаилс (модел.гетНаме (), модел.гетИд (), модел.гетЦатегори ())}}

Летимичан поглед на код рећи ће нам да је ова класа контролера само одговорна за позивање модела ради добијања / подешавања података и ажурирање приказа на основу тога. Хајде садапогледајте како су све то повезане.

Главна класа Јава

Назовимо ову класу „МВЦПаттернДемо.јава“. Погледајте код испод.

пакет МиПацкаге јавна класа МВЦПаттернДемо {јавна статичка воид главна (Стринг [] аргс) {// преузми запис ученика на основу његовог броја не из базе података Модел курса = ретривеЦоурсеФромДатабасе () // Направите приказ: за писање детаља о курсу на приказу ЦоурсеВиев конзоле = нови ЦоурсеВиев () ЦоурсеЦонтроллер контролер = нови ЦоурсеЦонтроллер (модел, приказ) цонтроллер.упдатеВиев () // ажурирај модел података цонтроллер.сетЦоурсеНаме ('Питхон') Систем.оут.принтлн ('нНакон ажурирања детаљи курса су следећи') цонтроллер.упдатеВиев ()} приватни статички курс ретривеЦоурсеФромДатабасе () {Курс = нови курс () цоурсе.сетНаме ('Јава') цоурсе.сетИд ('01 ') цоурсе.сетЦатегори (' Програмирање ') повратни курс}}

Горња класапреузима податке о курсу из користећи који корисник уноси скуп вредности. Затим те вредности гура у модел курса. Затим иницијализује приказ који смо створили раније у чланку.Даље, такође позива ЦоурсеЦонтроллер класе и везује га за Наравно класе и ЦоурсеВиев класа. Тхе упдатеВиев () метода која је део контролера затим ажурира детаље курса на конзоли. Погледајте излаз испод.

Оутпут

Детаљи курса: Име: Јава ИД курса: 01 Категорија курса: Програмирање Након ажурирања, детаљи курса су следећи Детаљи курса: Име: Питхон ИД курса: 01 Категорија курса: Програмирање

Архитектура МВЦпружа потпуно нови ниво модуларности вашег кода што га чини много читљивијим и одрживијим. Ово нас доводи до краја овог чланка.Надам се да вам је јасно са свим оним што је са вама подељено.

Обавезно вежбајте што је више могуће и вратите своје искуство.

алгоритми за сортирање ц ++

Погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на путовању, осмислили смо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду Јава програмери.

Имате питање за нас? Молимо вас да га поменете у одељку за коментаре ове „МВЦ архитектуре у Јави“ чланак и јавићемо вам се у најкраћем могућем року.