Model-view-controller
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/ModelViewControllerDiagram2.svg/240px-ModelViewControllerDiagram2.svg.png)
Model-view-controller (MVC) (din engleză, aproximativ: model-vizualizare-controlor) este un model arhitectural utilizat în ingineria software. Succesul modelului se datorează izolării logicii de business față de considerentele interfeței cu utilizatorul, rezultând o aplicație unde aspectul vizual sau/și nivelele inferioare ale regulilor de business sunt mai ușor de modificat, fără a afecta alte nivele.
Arhitectură
[modificare | modificare sursă]- Model
Această parte a controlatorului manipulează operațiunile logice și de utilizare de informație (trimisă dinainte de către rangul său superior) pentru a rezulta de o formă ușor de înțeles.
- Vizualizare
Acestui membru al familiei îi corespunde reprezentarea grafică, sau mai bine zis, exprimarea ultimei forme a datelor: interfața grafică ce interacționează cu utilizatorul final. Rolul său este de a evidenția informația obținută până ce ea ajunge la controlor.
- Controlor
Cu acest element putem controla accesul la aplicația noastră. Pot fi fișiere, scripturi (eng. scripts) sau programe, in general orice tip de informație permisă de interfață. În acest fel putem diversifica conținutul nostru de o formă dinamică și statică, în același timp.
Structură
[modificare | modificare sursă]Cu ajutorul Controlorului, modelului sau a parții de vizualizare putem manipula următoarele elemente: datele. Depinde de noi cum manipulăm și interpretăm aceste "date". Acum cunoaștem că unicele date ale unei adrese web statice sunt: obținerea unui fișier de pe disc(hard disk) sau din Internet, etc. și, interpretat (recunoscut/decodificat) sau nu, serverul răspunde.
Modelul, precum controlorul și vizualizarea (interfața grafică) manipulează toate datele ce se relaționeză cu el. Și numai partea de Vizualizare poate demonstra această informație. În acest fel am demonstrat ierarhia programului nostru: Controlor-Model-Vizualizare.
Logică
[modificare | modificare sursă]Pentru o aplicație web ușoara este necesar să stabilim următoarele elemente:
- O bază (CMV)
- Controlor - acesta trebuie să fie capabil de a manipula rute, fișiere, clase, metode și funcții
- Model - este asemănător unui script obișnuit într-un server, doar că regrupat sub un model reutilizabil.
- Vizualizare - asemănător includerii unui fișier în aplicația noastră.
- Un sistem
- Router - cu el putem împărți cerințele noastre fără multe condiționale
- Incărcător (Loader)