Model–view–controller

obrazac softverske arhitekture From Wikipedia, the free encyclopedia

Model–view–controller
Remove ads

Model–View–Controller (MVC) je obrazac softverske arhitekture. Koristi se u softverskom inženjeringu za odvajanje pojedinih dijelova aplikacije u komponente ovisno o njihovoj namjeni. Ovaj se obrazac u početku koristio za dizajniranje grafičkog korisničkog sučelja, kako bi bio zadovoljen princip jednoznačne namjene (Single responsibility principle)[1], no u novije vrijeme koristi se i za razvoj web aplikacija.[2] Popularni programski jezici imaju posebna MVC okruženja (frameworke) koji pomažu pri implementaciji ovog obrasca (Spring Boot, .NET, JavaScriptMVC i drugi).

Thumb
MVC koncept. Puna crta prikazuje direktnu povezanost dok isprekidana prikazuje indirektnu povezanost kroz promatrača
Remove ads

Komponente

Model

Model je središnja komponenta ovog uzorka, koji predstavlja dinamičku podatkovnu strukturu aplikacije, neovisnu o korisničkom sučelju i ponašanjima aplikacije.[3] U web aplikacijama, tipizacija jednog modela obično predstavlja strukturu jedne tablice u bazi podataka aplikacije.[4][5][6]

View

View (pogled) predstavlja predložak sučelja s kojim korisnik može interaktirati. View obično prima predodređeni model, čijim se podatcima popunjavaju dijelovi sučelja.

Controller

Controller (upravitelj) je odgovoran za interakcije korisnika s aplikacijom. Aplikacije često imaju definirani usmjerivač (router) koji određuje koji zahtjev ide kojem upravitelju, koju je metodu Controllera nužno pozvati, i koje informacije joj treba proslijediti. Ovisno o prirodi korisničkog zahtjeva, Controller može dohvaćati podatke iz baze podataka, mijenjati podatke u modelu, i stvarati nove, privremene modele. Zadnja akcija Controllera je obično pozivanje pogleda i proslijeđivanje modela za prikaz.

Remove ads

Interakcije

Obrazac također definira i dopuštene interakcije između komponenti.[7]

  • Model opisuje strukturu, tipizaciju, prava pristupa i ponašanje podatkovnih entiteta korištenih u aplikaciji.
  • Pogled (view) odgovoran je za prezentaciju modela u predodređenom obliku.
  • Upravitelj (controller) odgovara na korisničke upite i izvodi interakcije sa objektima modela. On prima podatke od korisnika, po potrebi vrši njihovu validaciju, interaktira s modelom i vraća pogled.
Remove ads

Poveznice

Slični obrasci

  • Action–domain–responder
  • Entity-control-boundary
  • Model–view–adapter
  • Model–view–presenter
  • Model–view–viewmodel
  • Presentation–abstraction–control

Principi objektnog dizajna

  • Princip jednoznačne namjene (SRP)
  • Princip klasne otvorenosti (OCP)
  • Liskovljev princip supstitucije (LSP)
  • Princip segregacije sučelja (ISP)

Izvori

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads