Model-View-Controller

Bemærk, at dette pattern har to fortolkninger. Det er den første fortolkning af MVC, som vi anvender på 2. semester.

MVC som UI pattern

MVC er oprindelig et UI design pattern, som hjælper med at separere forretningslogik, præsentationslogik, og navigationslogik.

Modellen er ansvarlig for at indkapsle applikationsdata, dvs. entitetsklasser som fx Employee og den tilhørende forretningslogik (fx beregning af løn).

Views renderer et svar til brugeren med brug af data fra modellens objekter (vha. jsp, dynamiske html).

Controllers er ansvarlige for at modtage en forespørgsel fra brugeren og kalde backend services (som fx beregning af løn eller registrering af ny medarbejder). Controlleren er typisk en servlet, der står for navigationen mellem jsp sider og almindelige Java klasser.

Formålet med MVC er løs kobling af komponenter med henblik på kodegenbrug, parallel udvikling og høj maintainability. Rationalet er:


MVC som arkitektur pattern

MVC er senere blevet benyttet som et large-scale arkitektur-pattern, hvor Model repræsenterer domæne/forretningslogik-laget View repræsenterer præsentationslaget, og Controllere er workflow objekter i domænelaget.