먼저, 간단히 정리하자면 MVC란 Model, View, Controller의 약자로 각각의 역할을 나누어서 코딩을 하는 모델(패턴)이다.
MVC 각각의 역할은 아래와 같다.
출처: https://jansipke.nl/model-view-controller-mvc-with-jsp-and-jstl/
위 개념도를 바탕으로 이해한 MVC 모델의 처리 과정은 다음과 같다.
이에 따라 Controller는 Model과 View의 제어만은 담당하기에 지나치게 코드의 양이 늘어나는 것을 방지할 수 있다.
View는 단순히 전달 받은 데이터의 값을 표시하는 것이 아니라, Model을 참조해서 Model 내의 데이터의 상태를 표시한다.
대표적으로 다음과 같은 두 가지 장점이 있다.