MVC Pattern과 MVP, MVVM Pattern
MVC 패턴은 Model, View, Controller로 구성된 패턴이다. 그렇다면 MVC는 각각 무엇을 말할까?
- Model: 모델(Model)은 애플리케이션이 다루는 데이터를 담당한다. 데이터를 표현하고 필요에 따라 비즈니스 로직을 수행한다.
- View: 뷰(View)는 모델이나 컨트롤러와 같은 다른 구성과 상관 없이 사용자에 어떻게 표현할지 나태낸다.
- Controller: 컨트롤러(Controller)는 사용자의 요청에 따라 모델과 뷰 사이에서의 흐름을 제어한다.
이렇게 3가지의 구성으로 나누는 이유는 관심사 분리를 위해서다. 각각의 구성은 자신이 맡은 역할과 책임만 담당하고 자신과 다른 구성에 대해 관여하지 않는다. 관심사 분리를 하 지 않은 프로그램은 어떤 하나의 수정이 다른 부분까지 영향을 끼칠 수 있기 때문에 유지보수하기가 어렵지만, 관심사 분리를 통해 하나의 수정이 다른 구성까지 전파되지 않도록 한다.
MVP(Model-View-Presenter) 패턴과 MVVM(Model-View-ViewModel) 패턴은 다른 글에서 더 간단하고 명확하게 설명하고 있다. 해당 글을 참고하자.