Web?

MVC, MVP, MVVM 차이점

디자인인스 2016. 7. 6. 09:30

1. Model, View

1) Model

Data, Data이외에 Data를 조작하는 간단한 로직이 추가 되기도 한다.


2) View

Display. 보통 Application에서 View는 CSS/HTML/XML/XAML 등으로 Rendering된 화면을 가르킨다.



MVC, MVP, MVVM 패턴과 같은 프레임워크가 나오게 된 궁극적인 이유는 한마디로 각 계층을 분리 시킴으로써 코드의 재활용성을 높이고 불필요한 중복을 막기위해 사용한다.

Model과 View의 의존성을 어떻게 제어 하느냐에 따라 각 패턴이 분류된다.


2. MVC, MVP, MVVM 차이점

1) MVC(Model-View-Controller)

- Controller에 직접 input

- View 와 Controller : Many to one관계

- View는 Controller를 참조하지 않음

- Model은 View를 간접적으로 참조함

- Smalltalk, ASP.NET MVC


모든 입력은 Controller에서 처리된다. 입력이 Controller로 들어오면 Controller는 입력에 해당하는 Model을 업데이트하고 Model을 나타내어 줄 View를 선택한다. Controller는 View를 선택할 수 있기 때문에 하나의 Controller가 여러개의 View를 선택하여 Model을 나타내어 줄 수 있다.