MVC vs MVP
Modeļa skata kontrolieris (pazīstams arī kā MVC) ir arhitektūras rakstura modelis, ko īpaši izmanto programmatūras inženierijā. Šis konkrētais modelis tiek izmantots, lai izolētu tā saukto “domēna loģiku” - kas vienkārši ir lietotāja loģika. Tas ir izolēts no ievades un prezentācijas (pazīstams kā GUI), un tas ļauj patstāvīgi attīstīties.
Model View Presenter (pazīstams arī kā MVP) ir tieša MVC permutācija. Tas ir programmatūras modelis (precīzāk, lietotāja saskarnes dizaina modelis), kas īpaši izstrādāts, lai atvieglotu automatizēto vienību pārbaudi un uzlabotu tā dēvēto bažu nodalīšanu prezentācijas loģikā. Bažu nodalīšana principā ir process, kurā datorprogramma tiek sadalīta atsevišķās funkcijās, kuras nepārklājas attiecībā uz to darbību.
MVC modeļa daļa būtībā ir modelis, kas attēlo datus, izmantojot īpašus domēnus, datus, kurus izmanto, lai ļautu lietojumprogrammai darboties. Skata daļa modeli pārveido par lietotājiem piemērotu mijiedarbību - tas parasti ir lietotāja interfeisa elements. Visbeidzot, kontroliera daļa vispiemērotāk saņem ievadi. Pieņemot lēmumus par modelī atrastajiem objektiem, kontrolieris kalpo kā reakcijas katalizators.
MVP parauga daļa definē datus, kas lietotāja saskarnē ir jāparāda (vai jārīkojas pēc tā). Skata daļā tiek parādīti modelī definētie dati un nosūtīts lietotāja uzaicinātās komandas (pazīstamas kā notikumi) prezentētājam (kurš darbosies pēc šiem datiem). Tad vadītājs rīkojas pēc modeļa un modeļa skata. Kā tāds tas spēj izgūt datus no krātuvēm (atrodamas modelī), turpināt datus un formatēt tos, lai tos varētu viegli parādīt skatā.
Ir dažādi MVC varianti. Vadības plūsma kā tāda notiek ļoti stingrā secībā: vispirms lietotājs mijiedarbojas ar interfeisu (piemēram, nospiežot peles pogu), un pēc tam kontrolieris rūpējas par ievades notikumu un maina to uz atbilstoša lietotāja darbība. Tālāk kontrolieris paziņo modelim par lietotāja izdarīto, kā rezultātā modelis, visticamāk, mainīs savu stāvokli (piemēram, kā atjauninājumu). Pēc tam skats uzdod modelim jautājumu, lai ģenerētu lietotāja saskarni. Visbeidzot, lietotāja saskarne gaida instrukcijas, kas atsāks ciklu.
Kopsavilkums:
1. MVC ir arhitektūras modelis, kas izolē domēna loģiku; MVP ir MVC pēcnācējs, kas izveidots, lai palīdzētu testēt automatizētās vienības un uzlabotu problēmu nodalīšanu.
2. Attiecībā uz MVC, modelis attēlo datus, skats pārveido modeli lietotājam draudzīgā mijiedarbībā, un kontrolieris saņem ievadi; attiecībā uz MVP, modelis definē datus, skats tos parāda, un vadītājs rīkojas pēc modeļa un tā skata.