Веб локација је више од онога што изгледа споља. У ствари, структурни образац веб локације варира колико и сам веб. Веб локација је сложен сплет мноштва компоненти које међусобно делују како би покренуле апликацију. Узмимо за пример Фацебоок, који је један од најкомплекснијих веб страница које користимо скоро свакодневно. Идите на његову почетну страницу и видећете да веб локација обрађује готово десетак захтева за подацима да одједном попуне страницу с низом компоненти. Лако се може замислити да логика иза које компоненте међусобно делују како би покренули програм попут Фацебоока може бити врло различита од осталих веб локација. Основна функционалност било ког вебсајта је дефинисана лакоћом којом предњи крај комуницира са одговарајућим моделом ради добијања података које гледалац тражи. МВЦ и МВВМ су два популарна дизајнерска обрасца у свету развоја софтвера.
МВЦ, скраћеница за Модел-Виев-Цонтроллер, је модел дизајна апликација који се обично користи за развој модерних корисничких интерфејса. МВЦ образац је у средишту модерног објектно-оријентисаног софтвера који је настао из објектно-оријентисане дизајнерске заједнице. Првобитно је назван Тхинг-Модел-Виев-Едитор 1979. године, али је касније поједностављен и преименован у Модел-Виев-Цонтроллер. Користи се претежно за дизајн и развој мобилних и веб апликација. Подељује кориснички интерфејс апликације на три различита дела: Модел, Виев и Цонтроллер.
Модел: Модел представља скуп класа које описују податке које планирате да користите у апликацији. Описује заједнички формат за податке, али може садржавати и пословна правила, конверзије, логику валидације и разне друге функције.
Поглед: Поглед представља податке који ће се приказати из модела. Дефинише како ће се приказивати кориснички интерфејс апликације. Модел може имати више приказа у зависности од апликације. Модел погледа, у дизајнерском смислу, суштински приказује УИ компоненте као што су ХТМЛ, јКуери и тако даље.
Цонтроллер: Контролер је средишњи дио МВЦ апликације који управља с комуникацијом од корисника у облику догађаја, укупног протока апликације и логике специфичне за апликацију. Догађаји се затим претварају у захтеве за услугу и преносе на модел или приказ. То је једина компонента преко које корисник комуницира са системом.
Модел-Виев-ВиевМодел, или МВВМ, је популарни софтверски архитектонски образац који се обично користи за развој веб апликација и вишекратних тестирања. МВВМ се заснива на МВЦ обрасцу, али се побољшава на МВЦ моделу увођењем нове класе која се зове ВиевМодел, а која управља подацима специфичним за приказ. Основни циљ МВВМ модела је истинско раздвајање компонената Модел и Виев. Главне компоненте модела су: Модел, Виев и ВиевМодел.
Модел: Принцип остаје исти као у МВЦ моделу. Модел представља пословну логику и податке и одређује како се њима треба манипулисати.
Поглед: Модел приказа представља податке који ће се приказати, али не врши никакве манипулације подацима. Приказ је исти као у МВЦ-у, осим што се за приказ морају поставити везивања података, што се врши додавањем ВиевМодел у приказ.
ВиевМодел: То је најважнија компонента модела, јер је дизајниран да користи функције повезивања података, што у ствари помаже да се поглед одвоји од модела, а истовремено делује као контролер да олакша комуникацију између компонената Виев и Модел.
- Модел-Виев-Цонтроллер (МВЦ) је модел дизајнирања апликација који се обично користи за развој модерних корисничких интерфејса. Подељује кориснички интерфејс апликације на три различита дела: Модел, Виев и Цонтроллер. С друге стране, Модел-Виев-ВиевМодел (МВВМ) је модерна варијанта МВЦ модела који се обично користи за развој веб апликација и вишекратних тестирања. Главне компоненте МВВМ модела су Модел, Виев и ВиевМодел.
- Кључна карактеристика која разликује МВВМ од осталих образаца дизајна софтвера је везивање података, што је једноставно механизам који повезује корисничко сучеље с пословном логиком. Кључна технологија која повезује Виевс са њиховим ВиевМоделс-ом омогућава да се модели и својства ускладе с приказом у ВиевМоделу. То елиминише потребу да се цео Модел изложи прегледу.
- Кључна разлика између два архитектонска обрасца је та што је у МВЦ-у, контролер одговоран за управљање комуникацијом између модела и погледа користећи догађаје, док је оквир све тешко дизање у МВВМ користећи функцију која се назива везање података. ВиевМодел у МВВМ помаже да поглед остане одвојен од модела, а истовремено делује као контролер како би се олакшала комуникација између компонената Виев и Модел..
Иако су и МВЦ и МВВМ деривати МВЦ модела, МВВМ је модерна варијанта МВЦ модела која уводи нову класу под називом ВиевМодел, која управља подацима специфичним за приказ. Основни циљ МВВМ модела је истинско раздвајање компонената Модел и Виев. У МВЦ-у, контролер је одговоран за управљање комуникацијом између модела и погледа. Међутим, у МВВМ ВиевМодел помаже да поглед остане одвојен од модела и такође делује као контролер да олакша комуникацију између компонената.