반응형

[Design Pattern] MVC

반응형

생활코딩의 egoing님의 글을 정리한 것입니다.


MVC란 Model View Controller의 약자로 에플리케이션을 세가지 역할로 구분한 방법론입니다. 아래 그림처럼 사용자가 Controller를 조작하면 그 Controller는 Model을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View를 제어하여 사용자에게 전달하게 됩니다.




MVC의 세 가지 구성요소 각각을 설명하면 다음과 같습니다.


Controller - Model에 명령을 보냄으로써 Model에게 그것의 상태를 변경, 데이터 검색 등을 수행하게 하는 컴포넌트

Model - 데이터를 관리하는 컴포넌트. 상태 변화가 있을 때 그것을 Controller와 View에게 통보하여 View는 최신의 정보를 보여주게 되며, Controller는 Model의 변화에 따른 적용 가능한 명령을 추가, 수정, 제거를 가능하게 함. 

View - 시각적인 부분을 담당하는 컴포넌트. 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어옴.


위 개념을 웹에 적용하면


1. 사용자가 웹사이트에 접속한다. (USER)

2. Controller는 요청한 웹페이지를 서비스하기 위해 모델을 호출한다. (Manipulates)

3. Model은 데이터베이스나 파일과 같은 데이터 소스를 제어한 후 그 결과를 리턴한다.

4. Controller는 Model이 리턴한 결과를 View에 반영한다. (Updates)

5. 데이터가 반영된 View는 사용자에게 보여진다. (Sees)

반응형

이 글을 공유하기

댓글

Designed by JB FACTORY