Model-view-controller

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare
Schemă conceptuală a modelului. Liniile punctate arată legături indirecte

Model-view-controller (MVC) (din engleză, aproximativ: model-față-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.

  • Viziune

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 controlator.

  • Controlator

Cu acest element putem controla accesul la aplicația noastră. Pot fi fișiere, scripts sau programe; 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 Controlatorului, modelului sau a viziunii putem manipula următoarele elemente: date. Depinde de noi cum manipulăm și interpretăm aceste "date". Acum cunoaștem că unicele date ale unei adrese web statice este: obținerea unui fișier în discul dur (hard disk) sau din Internet, etc. și, interpretat (recunoscut/decodificat) sau nu, serverul răspunde.

Modelul, precum controlatorul și viziunea manipulează toate datele ce se relaționeză cu el. Și numai Viziunea poate demonstra această informație. În acest fel am demonstrat ierarhia programului nostru: Controlator-Model-Viziune.

Logică[modificare | modificare sursă]

Pentru o aplicație web ușoara este necesar să stabilim aceste elemente:

  • O bază (CMV)
  1. Controlator - acesta trebuie să fie capabil de a manipula rute, fișiere, clase, metode și funcții
  2. Model - este semănător unui script obișnuit într-un server, doar că regrupat sub un model reutilizabil.
  3. Viziune - asemănător includerii unui fișier în aplicația noastră.
  • Un sistem
  1. Router - cu el putem împărți cerințele noastre fără multe condiționale
  2. Incărcător (Loader)