프로그래밍에 사용되는 디자인 패턴이다. 각 글자의 맨 앞자만 따와서 MVC라고 불린다.
사용자 인터페이스로부터 비즈니스 로직을 분리하고, 애플리케이션의 시각적 요소와 그 이면에서
실행되는 비즈니스 로직을 서로 영향 없이 고칠 수 있다.
M : Model
V : View
C : Controller
모델은 앱이 사용하는 데이터를 정의한다. 데이터의 상태가 변경되면 모델은 뷰에게 알리게 된다. 뷰는 스스로 데이터를 변경하거나 등록할 수 없으며 이에 대한 작업은 모델을 통해 진행할 수 있다.
뷰는 앱의 데이터 출력방식을 정의한다. 예를 들어 쇼핑몰 화면의 뷰라고 했을때 상품목록화면이 존재한다.
모델로부터 받은 데이터를 어떤식으로 표현할지 정의한다.
뷰에서 상품을 선택해 장바구니에 담는 액션을 취하고자 한다면 결국 모델에 해당내용을 전달해 데이터를 업데이트 해야한다. 이 과정이 수행되기까지 절차가 존재하는데 이 과정의 순서와 작동순서를 정의하고 뷰와 모델이 서로 연결될 수 있도록 제어다리 역할을 하는것이 컨트롤러이다.