MVC패턴은 디자인패턴 중 하나 (Model, View, Controller의 약자)
유지보수가 편해지는 코드 구성 방식이기 때문이다.
Model - View - Controller로 구성되어 있고, 프로젝트에 따라, 어떻게 정의하는지에 따라 각자의 역할이 조금씩 달라진다.
View
: 화면의 구성(렌더링)을 담당한다.Model
: 상태(state)를 다룬다. 데이터이다.Controller
: View와 Model 사이의 인터페이스(중개자) 역할, 비즈니스 로직과 이벤트를 처리하는 역할을 한다.View와 Model의 결합도를 낮추기 위해 Controller라는 완충객체를 두었다.
이게 무슨 말이냐면
view와 model의 결합도가 높다는 것은 서로 연결성이 짙다는 것,
따라서 연결성을 낮추기 위해 Controller라는 객체를 생성해 그 결합성을 Controller에서 수행한다는 것이다.
이러면 Controller에서 model과 view를 통해 로직을 수행하고 view에서 controller를 통해 수행된 model 데이터를 가져와서 보여주는 개념으로 이해하면 했는데 아직 이해가 부족한 것 같다.