МВЦ, МВП, МВВМ: Који одабрати?

МВЦ, МВП, МВВМ: Који одабрати?

Савременим апликацијама је потребно толико различитих функција да је процес њиховог развоја порастао у величини и сложености. Да бисте помогли, можете користити образац архитектонског дизајна. Они подржавају изградњу апликација које се лако тестирају и одржавају.





Три најпопуларнија обрасца дизајна су МВЦ, МВП и МВВМ. МВЦ означава модел, приказ и контролер, док МВП означава модел, приказ и презентер, а МВВМ модел, приказ и модел приказа.





Архитектонски и дизајнерски обрасци

Арцхитецтурал Паттерн

Архитектонски образац појашњава и дефинише неке кључне компоненте софтверске архитектуре. Иако архитектонски образац преноси слику система, није архитектура . У ствари, то је опште решење за вишекратну употребу за уобичајени проблем у архитектури софтвера у одређеном контексту.





Дизајн образац

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

Разлика између архитектонског и дизајнерског узорка

Почнимо са уобичајеним појмом — шаблоном. У софтверу, образац је рекурентно својство које вам омогућава да разбијете огромну и сложену структуру на мање, једноставније компоненте. Можете користити овај образац да направите опште решење за класу проблема.



На сваком нивоу развоја софтвера, користићете различите алате. На мањим нивоима, ови алати су обрасци дизајна. Архитектонски обрасци постоје на већим нивоима, и програмске парадигме на нивоу имплементације.

Зашто су нам потребни обрасци архитектонског дизајна?

Током развоја софтвера, можете користити обрасце архитектонског дизајна да бисте решили уобичајене проблеме. Добра архитектура вам такође може помоћи да:





  • Поделите сложене задатке на једноставније задатке.
  • Смањите грешке.
  • Направите код за тестирање и одржавање.

Али без архитектонског обрасца, можда ћете се суочити са потешкоћама у одржавању пословне логике ваше апликације.

Модел, Виев, ВиевМодел, Цонтроллер и Пресентер

Пре него што погледате сваки образац, ево термина који их чине:





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

МВЦ, МВП и МВВМ обрасци

Модел-Виев-Цонтроллер Паттерн

Тхе МВЦ архитектонски образац је био први, а данас је популаран у области веб апликација. Уведен је 1970-их. Овај образац вам омогућава да направите апликацију око раздвајања забринутости (СоЦ). Олакшава напоре који су вам потребни да тестирате, одржавате и развијате своју апликацију.

У МВЦ обрасцу, модел нема разумевање погледа или контролера. Посматрач модела ће добити упозорење кад год дође до промене у погледу и контролеру. Контролер помаже процесу рутирања да повеже модел са релевантним погледом.

Неке од предности МВЦ шаблона су:

  • Раздвајање брига (фокусираније).
  • Олакшава тестирање и управљање кодом.
  • Промовише раздвајање слојева апликације.
  • Боља организација кода и поновна употреба.

Ево како МВЦ ради:

  Слика дијаграма који илуструје како МВЦ функционише

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

Модел-Виев-Пресентер Паттерн

МВП образац дели две компоненте са МВЦ-ом: модел и приказ. Он замењује контролер са презентером. Презентатор се – као што му име каже – користи да представи нешто. Омогућава вам да се лакше ругате погледу.

где могу да одштампам нешто из своје е -поште

У МВП-у, презентер има функционалност 'средњака' јер му је гурнута сва логика презентације. Поглед и презентер у МВП-у су такође независни један од другог и комуницирају преко интерфејса.

Ево илустрације како МВП образац функционише:

  Слика дијаграма који илуструје како МВП функционише

Излагач прима податке од корисника преко приказа. Затим обрађује радње корисника уз помоћ модела, прослеђујући резултате назад у приказ. Излагач комуницира са погледом преко интерфејса.

Модел-Виев-ВиевМодел Паттерн

МВВМ је модерна еволуција МВЦ-а. Главни циљ МВВМ-а је да обезбеди јасно раздвајање између логике домена и слоја презентације. МВВМ подржава двосмерно повезивање података између погледа и модела приказа.

МВВМ образац вам омогућава да одвојите приказ кода и модел. То значи да када се модел промени поглед не треба, и обрнуто. Користећи модел приказа, можете да урадите тестирање јединица и тестирате своје логичко понашање без укључивања вашег погледа.

Ево илустрације како МВВМ функционише:

  Слика дијаграма који илуструје како МВВМ функционише

Када користити МВЦ, МВП и МВВМ

Сада када сте научили о сваком шаблону, сазнајте када да их користите.

Када користити МВЦ

МВЦ је једноставно имплементација Одвајања забринутости. Ако ваша апликација треба да раздвоји податке (модел), кружење података (контролер) и презентацију података (преглед), МВЦ ће добро функционисати. МВЦ такође добро служи у апликацији где се извор података и/или презентација података могу променити у било ком тренутку.

Када користити МВП

Можете користити МВП када ваша апликација има двосмерни ток. Ако интеракције корисника морају да затраже нешто од модела, а резултат овог захтева ће одмах променити кориснички интерфејс, размислите о МВП-у.

Када користити МВВМ

Желећете да користите МВВМ када:

  • Морате да делите пројекат са дизајнером и рад на дизајну и развоју може се одвијати независно.
  • Потребно вам је тестирање јединица за ваша решења.
  • Морате да имате компоненте за вишекратну употребу, како унутар тако и међу пројектима у вашој организацији.
  • Желите више флексибилности да промените своје погледе без потребе за рефакторисањем друге логике у бази кода.

Који узорак треба да изаберете?

Главни разлог за коришћење шаблона дизајна је смањење сложености. То можете учинити смањењем укупне сложености или заменом непознате сложености познатом. Ако образац дизајна не може да смањи сложеност ни на један од ова два начина, немојте користити ниједан од њих; неће додати никакву вредност.

Ако сте заиста сигурни да би требало да користите шаблон дизајна, покушајте да направите контролну листу. Засните то на ситуацијама које сте овде видели и изаберите оно што најбоље одговара вашем пројекту.

лаптоп рачунари који се пуне преко УСБ -а ц