Model, View, Controller로 이루어진 디자인 패턴

애플리케이션의 구성 요소를 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 역할로 구분, 관심사를 분리하여 각각 구성 요소에만 집중하여 개발할 수 있다.
장점
단점
- 애플리케이션이 복잡해질수록 모델과 뷰의 관계도 복잡해짐
모델 Model
- 애플리케이션의 데이터(DB, 상수, 변수 등) 부분을 의미
- 컨트롤러에게 받은 데이터를 조작하고 가공하는 역할을 수행
뷰 View
- input box, checkbox 등과 같은 사용자 인터페이스 요소를 의미
- 모델을 기반으로 사용자가 볼 수 있는 화면
- 모델의 정보를 따로 저장하지 않아야 함
컨트롤러 Controller
- 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할
- 모델과 뷰 사이에서 데이터 흐름을 제어
- 모델과 뷰의 생명주기 관리
참고:
여기도 MVC, 저기도 MVC! MVC 패턴이 뭐야?
면접을 위한 CS 전공지식 노트