Разлика између МВВМ и МВП

Сврха развоја софтвера је изградња решења која се баве потребама и проблемима за кориснике и предузећа. Да би се то постигло, воле се различите технологије и обрасци архитектуре Модел-Виев-ВиевМодел (МВВМ) и Презентација модела (МВП) се користе.

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

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

Структура софтверске апликације

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

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

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

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

Обрасци архитектуре

Модел Виев Цонтроллер (МВЦ) био је један од првих архитектонских образаца развијених за веб апликације, који је стекао популарност од средине до краја деведесетих година, посебно у заједници Јава.

Новији оквири, попут Дјанго за Питхон и Раилс (Руби он Раилс), имају јак фокус на брзој примјени, због чега МВЦ заузима тржишни удио као велику атракцију у архитектонским обрасцима..

Традиционално, развој корисничког интерфејса садржи пуно кода за обраду сложене логике, па су обрасци архитектуре дизајнирани да смање код на нивоу корисничког интерфејса (УИ), чинећи га више 'чистим' и управљивим.

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

  • Модел (подаци)
  • Поглед (интерфејс за преглед и управљање подацима)
  • Цонтроллер (радње и радње изведене на подацима)

Тхе Модел обрађује податке и пословну логику и постоје не зависности између Модел и тхе Цонтроллер или Поглед.

Тхе Поглед представља податке кориснику у подржаном формату и потребном изгледу и када Цонтроллер прима захтеве корисника (ради дохваћања података), позива релевантне ресурсе потребне за испуњавање захтева.

Применимо овај образац за изградњу интернет продавнице књига.

Корисници могу да претражују, прегледају, региструју и купују књиге, као и да управљају њиховим профилима и списковима књига. Када корисник кликне на СЦИ-ФИ категорију, све повезане књиге требале би се приказати као доступне.

Тхе Контролери руковање радњама које управљају књигама (листа, додавање, преглед итд.). Може их бити више Контролери са једним главним Цонтроллер 'усмеравање саобраћаја'.

За овај пример Цонтроллер је назван цонтроллер_боокс.пхп и Модел (нпр. модел_боокс.пхп) обрађује податке и логику која се односи на књиге.

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

Тхе цонтроллер_боокс.пхп прима акцију (захтев корисника) од главног Цонтроллер (на пример. индек.пхп). Тхе цонтроллер_боокс.пхп анализира захтев и позива позив модел_боокс.пхп (подаци) за враћање листе СЦИ-ФИ књига.

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

Ово је основа МВЦ обрасца, који је еволуирао растућим варијацијама архитектонских образаца, као што су Модел-Виев-Пресентер (МВП), Модел-Виев-ВиевМодел (МВВМ), Хиерарцхицал-Модел-Виев-Цонтроллер (ХМВЦ), и адаптера за приказ модела (МВА) итд.

МВП Паттерн

Презентација модела (МВП)

Тхе МВП паттерн постоји већ неко време и представља варијанту МВЦ-а. Дизајниран је посебно за аутоматизацију тестова где је циљ био да се повећа количина кода која се може тестирати аутоматизацијом, а образац обрађује неке проблеме са презентацијским слојем, изолирајући пословну логику од корисничког сучеља.

Екран је приказ, подаци који се приказују су модел, а презентатор их спаја заједно.

МВП обухвата следеће компоненте са одвојеним одговорностима:

  • Модел (дефинише податке који ће се приказати)
  • Поглед (приказује податке из модела и ручне захтеве корисника ка Пресентеру).
  • Пресентер (интерактивно делује између погледа и модела и спаја их заједно)

Тхе Поглед (веб страница) приказује и управља контролама странице тако што догађаје (корисничке захтеве) прослеђује на Пресентер које су инициране у Поглед.

Тхе Пресентер реагује на ове догађаје читањем и ажурирањем Модел за промену Поглед и због тога Презентације одговорност је везивање Модел и Поглед.

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

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

МВВМ Паттерн

Модел-Виев-ВиевМодел (МВВМ)

Тхе МВВМ шаблон посебно је дизајниран за Виндовс Пресентатион Фоундатион (ВПФ) и Мицрософт Силверлигхт платформе и може се користити на свима КСАМЛ [и] платформе.

ВПФ је Мицрософт систем који прави корисничке интерфејсе у програмима заснованим на Виндовс-у и први пут је објављен у .НЕТ Фрамеворк 3.0.

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

МВВМ садржи три основне компоненте:

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

Тхе Поглед прима податке од ВиевМодел (путем повезивања података и метода), а током извођења, Поглед промениће се када одговори на догађаје у ВиевМодел.

Тхе ВиевМодел посредује између Поглед и Модел и обрађује Поглед логика. Интеракција је са Модел - узимање података из Модел и представљајући га Поглед приказати.

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

Ова структура омогућава Модел и друге компоненте еволуирају независно, омогућавајући програмерима да истовремено раде на различитим аспектима решења. На пример, где дизајнери раде на Поглед, они једноставно генерирају узорке података без потребе за приступ осталим компонентама. Ово олакшава лако редизајнирање корисничког интерфејса као Поглед се имплементира у КСАМЛ.

Као што је претходно поменуто са МВП, једноставним решењима не би били потребни обрасци архитектуре и дизајна, попут „Хелло Ворлд!“ сувише је основно да бисте следили било који образац; међутим, како се уводе више функција, функција и компоненти, сложеност апликације расте и повећава се количина кода којом се мора управљати.

Укратко

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

Илустрована разлика између МВП и МВВМ обрасца:

  • У оба МВП и МВВМ, тхе тхе Поглед је улазна тачка за апликацију
  • Ин МВП, постоји мапирање један на један између Поглед и Пресентер, у чему МВВМ, однос је један према многима између Поглед и ВиевМодел.
  • МВП користи се првенствено за Виндовс Формс и Виндовс Пхоне апликације и МВВМ је дизајниран за Силверлигхт, ВПФ, Кноцкоут / АнгуларЈС, итд.