출처: XESCHOOL
MVC
- 사용자가
Controller
를 조작한다
Controller
는 Model
을 통해서 데이터를 가져온다
Model
에서 가져온 데이터를 바탕으로 View
를 제어해서 사용자에게 전달한다
Model
- 데이터베이스, 초기 정의 상수, 초기화값, 변수 등
- 데이터와 정보를 가공하는 컴포넌트
- 사용자가 편집하길 원하는 모든 데이터를 가져야 한다
- 뷰나 컨트롤러에 대해서 어떤 정보도 몰라야 한다
View
- 사용자 인터페이스 요소
- 데이터/객체의 입력 및 출력 담당
- 데이터를 기반해 사용자가 볼 수 있는 화면
- 모델의 정보를 저장하면 안된다
- 다른 구성요소를 몰라야 한다
- 변경이 일어나면 변경통지를 구현해야 한다
Controller
- 모델/뷰에 대해 알아야 한다
- 모델/뷰의 변경을 모니터링한다
MVC의 장점
- 각자 용도에 따른 역할 분리
- 유지보수성
- 애플리케이션의 확장성
- 유연성