Model-View-Controller (MVC)는 소프트웨어 디자인 패턴이다.
사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다.
웹에서 MVC 패턴을 적용하면 다음과 같이 적용이 된다고 한다.
1. [Users] 사용자가 웹사이트에 접속
2. [Manipulaters] controller는 사용자가 요청한 웹페이지를 서비스하기 위해서 모델을 호출한다.
3. [Return] model은 DB나 파일과 같은 데이터 소스를 제어한 후 그 결과를 return 한다.
4. [Updates] controller는 model이 리턴한 결과를 View에 반영한다.
5. [Sees] 데이터가 반영된 View는 사용자에게 보여진다.