MVC는 애플리케이션을 개발할 때 사용하는 디자인 패턴이다. 개발 영역을 Model, View, Controller로 구분하여 각 역할에 맞게 코드를 작성하는 방식이다.
MVC 패턴을 도입하면 UI영역과 도메인(비즈니스 로직) 영역으로 구분되어 서로에게 영향을 주지 않으면서 개발과 유지보수가 가능하다.

애플리케이션의 데이터와 비즈니스 로직을 포함한다. 데이터베이스와 상호작용, 데이터 처리 및 검증과 같은 작업을 처리하게 된다.
사용자에게 정보를 표시하는 역할을 한다. 사용자 인터페이스와 데이터의 표현을 담당하며 사용자의 요청에 따라 정보를 갱신한다.
MVC패턴의 핵심이다. 사용자의 입력은 우선적으로 컨트롤러로 가게된다. 적절한 응답을 생성하기 위해 모델과 뷰를 사용한다.
Model 내부에 Controller와 View에 관련된 코드가 있으면 안된다.
View 내부에는 Model에 대한 코드는 있을 수 있지만, Controller에 대한 코드는 있어선 안된다.
Controller 내부에는 Model과 View에 관한 코드가 존재할 수 있다.