간단히 정리하자면, 각각 MVC는 Model, View, Controller의 약자로 각각의 역할을 나누어서 코딩을 하는 모델(패턴)이다.
(출처: https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC )
Model
시스템의 비즈니스 로직을 담당한다.
View
화면의 표시, 입력 등의 처리를 한다.
모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다.
Controller
유저의 입력에 근거하여 Model과 View를 제어한다.
모델에 명령을 보냄으로써 모델의 상태를 변경할 수 있다. (ex: 워드 프로세서에서 문서를 편집하는 것) 또, 컨트롤러가 관련된 뷰에 명령을 보냄으로써 모델의 표시 방법을 바꿀 수 있다. (문서를 스크롤하는 것)
Contoller는 Model과 View의 제어만 담당한다. 따라서 코드의 비효율성을 방지하고, 코드의 양이 늘어나는 것을 방지할 수 있다. 또한 View는 단순 전달 받은 데이터의 값을 표시하는 것이 아닌, Model을 참조하여 Model 내 데이터 상태를 표시한다.
(출처: https://velog.io/@jojo_devstory/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B3%90-%ED%8C%A8%ED%84%B4-MVC%EA%B0%80-%EB%AD%98%EA%B9%8C)
Reference
https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%8D%B8-%EB%B7%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC
https://velog.io/@josworks27/MVC-%EB%AA%A8%EB%8D%B8-%EA%B0%9C%EB%85%90