MVC 패턴의 대략적인 콘셉트는 아래와 같다.
M : Model
, 비즈니스 로직을 구현하는 영역으로 응용프로그램에서 데이터를 처리하는 부분
V : View
, 컨트롤러부터 받은 모델의 결과값을 가지고 사용자에게 출력할 화면을 만드는 일
C : Controller
, 클라이언트의 요청을 받았을 때, 그 요청에 대해 실제 업무를 수행하는 모델 컴포넌트를 호출
애플리케이션을 세 가지의 역할로 구분한 개발 방법론으로써 사용자가 Controller
를 조작하면 Controller는 Model
을 통해서 데이터를 가져오고 그 정보를 바탕으로 시각적인 표현을 담당하는 View
를 제어해서 사용자에게 전달하게 된다.
Q. 내부적으로 어떤 일이 발생할까?
USER
: 컨트롤러를 통해 제어 혹은 사용을 시작
Controller
: 사용자의 의중을 파악에서 해당하는 작업을 내부적으로 수행
Model
: Data를 핸들링하는 역할 수행
View
: 시각적으로 보여주는 것을 핸들링하는 역할 수행
사용자가 특정 웹사이트를 방문했을 때를 가정하자면 사용자의 브라우저 주소창의 URL을 해당하는 맵핑을 Controller에서 핸들링하여 데이터를 담당하는 Model을 호출하고 결과를 View에 리턴한다. View에서는 사용자가 원하는 결괏값 혹은 리턴된 정보를 볼 수 있는 것이다.
Reference