Model + View + Controller를 합친 용어로 어플리케이션을 개발할 때 구성 요소를 세가지 역할로 구분하는 패턴.
장점: 가장 보편적으로 사용되는 패턴이며 단순
단점: view와 model이 서로 의존적
model
어플리케이션에서 사용되는 데이터와 그 데이터를 처리하는 부분
view
사용자에게 보여지는 UI 부분
controller
사용자의 입력을 받고 처리하는 부분
사용자가 controller를 조작하면(입력) controller는 model을 통해서 데이터를 가져와 그 데이터를 바탕으로 시작적인 표현을 담당하는 view를 제어하여 사용자에게 전달한다.