Conceptul de mvc, praktikatech

Model-view-controller (MVC «modelul-view-comportament“, "modelul-view-controller", "model de-view-controller".) - diagrama de utilizare a mai multor modele de design cu care modelul de date al aplicației, interfața cu utilizatorul și interacțiunea cu utilizatorul sunt împărțite în trei componente separate, astfel încât modificarea uneia dintre componente să aibă un efect minim asupra restului. Această schemă de proiectare este adesea folosită pentru a construi un cadru arhitectural.







În ciuda faptului că abrevierea MVC este în mod obișnuit înțeleasă ca o întreagă familie de modele, este posibil să se identifice versiunea originală a acestei soluții arhitecturale. În prezent, utilizarea MVC în forma sa originală este puțin probabil să fie justificată, din diverse motive, dar evoluția modelului este cel mai bine urmărită încă de la început ...

Pentru prima dată, modelul MVC a apărut în SmallTalk la sfârșitul anilor șaptezeci. De fapt, problema a fost familiare tuturor, era necesar să vină cu o soluție arhitecturală care vă permite să manipuleze reprezentări grafice ale unei anumite date de aplicație, astfel încât să se modifice prezentarea acestor date nu a afectat aplicațiile (model) logica de afaceri și de date, precum și faptul că a fost Posibilitatea de a avea mai multe vizionări pentru un model. Această decizie a fost modelul MVC, ideea căruia sa născut în adâncurile Xerox PARK și a primit prima sa mențiune publică în documentația pentru SmallTalk'80. În versiunea clasică, MVC este alcătuită din trei părți, care i-au dat numele.

Model (model)

În cadrul modelului, se înțelege de obicei o parte care conține logica funcțională a aplicației. Modelul trebuie să fie complet independent de restul produsului. Stratul de model nu trebuie să știe nimic despre elementele de proiectare și modul în care va fi afișat. Rezultatul este realizat, permițând modificarea reprezentării datelor, a modului în care sunt afișate, fără a atinge Modelul însuși.

Modelul are următoarele caracteristici:

  • Modelul este logica de afaceri a aplicației;
  • Modelul are cunoștințe despre el însuși și nu știe despre controlori și opinii;
  • Pentru unele proiecte, modelul este doar un strat de date (DAO, bază de date, fișier XML);
  • Pentru alte proiecte, modelul este un manager de baze de date, un set de obiecte sau pur și simplu o logică a aplicațiilor;






Reprezentarea (vizualizare)

Este responsabilitatea Vizualizării să afișeze datele primite de la model. Cu toate acestea, vizualizarea nu poate afecta în mod direct modelul. Puteți spune că vizualizarea are acces numai în citire la date.

Prezentarea are următoarele caracteristici:

  • În vedere, este realizată afișarea datelor obținute din model în orice mod;
  • În unele cazuri, vizualizarea poate avea cod care implementează o anumită logică de afaceri.

Exemple de prezentare: pagina HTML, formularul WPF, formularul Windows.

Sarcinile controlerului includ reacția la stimulii externi și modificarea modelului și / sau a reprezentării în conformitate cu logica întruchipată în acesta. Un controler poate lucra cu mai multe vizualizări. în funcție de situație, interacționând cu ele prin intermediul unei interfețe pre-cunoscute implementate de aceste viziuni. O nuanță importantă în versiunea clasică MVC constă în faptul că controlerul nu transferă date din model în Vizualizare și nu este un mediator între model și vizualizări.

Puterea modelului MVC este antrenat direct de împărțirea acestor trei elemente, în scopul de a evita zonele de trecere de responsabilitate a fiecăruia dintre ele, și chiar dacă fiecare element din triada MVC are o zonă separată și unic de responsabilitate, acestea nu funcționează în mod izolat. De fapt, pentru a crea un șablon MVC, fiecare element trebuie comunicat cu restul.

Interacțiunea elementelor MVC

Fiecare element din modelul MVC comunică cu celelalte moduri foarte specifice. Comunicarea este implementată printr-o secvență de evenimente, care sunt de obicei declanșate de interacțiunea utilizatorului cu aplicația. Secvența evenimentelor arată astfel:

  1. Utilizatorul interacționează cu elementul de interfață (de exemplu, apasă butonul din Vizualizare).
  2. Vederea trimite un eveniment push către controler pentru a decide cum să se ocupe de această împingere.
  3. Controlorul modifică modelul pe baza a ceea ce a decis să facă cu butonul.
  4. Modelul informează opinia că starea modelului sa schimbat.
  5. Vederea citește informații despre starea modelului și se autoreglează.

Scopul principal al aplicării acestui concept este de a diviza logica de afaceri (modelul) de la vizualizare (reprezentare a vederii). Datorită acestei separări, se mărește posibilitatea reutilizării componentelor deja pregătite. Folosind o astfel de schemă de proiectare ca MVC vă permite să creați sisteme complexe care pot fi ușor scalate fără a schimba structura lor.







Articole similare

Trimiteți-le prietenilor: