
유지보수가 편해지도록 애플리케이션을 3가지의 역할(Model, View, Controller) 로 구분하는 개발 방법론

Model : 데이터와 행동을 가지는 객체로 비즈니스 로직을 수행
View : Model에서 처리된 데이터를 받아서 시각화
Controller : Model과 View를 연결하며 데이터의 흐름을 제어
- 유저가 필요한 기능에 대한 요청을 보낸다.
- Controller는 알맞은 Model에게 비즈니스 로직 수행을 맡긴다.
- Controller는 알맞는 View를 선택하고 데이터를 전달한다.
- 결과를 출력한다.
- Model은 Controller와 View에 의존하지 않아야한다.
-> Model 내부에 Controller와 View와 관련된 코드가 있으면 안된다.
- View는 Model에만 의존해야 하고, Controller에는 의존하면 안된다.
-> View 내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안된다.
- View가 Model로부터 데이터를 받을 때는 사용자마다 다르게 보여주어야하는 데이터에 대해서만 받아야한다.
- Controller는 Model 과 View에 의존해도 된다.
-> Controller 내부에는 Model과 View의 코드가 있을 수 있다.
- View가 Model로부터 데이터를 받을 때, 반드시 Controller에서 받아야한다.