UI 디자인 패턴 (MVC, MVP, MVVM)
1. MVC 패턴
View를 업데이트 하는 방식
- View가 Model을 직접 사용하여 업데이트
- Model이 View에게 Notify하여 업데이트
- VIew가 Model을 Polling하여 변경 확인 후 업데이트
특징
- input을 View나 Model이 아닌 Controller에서 처리
의존성 관계
- Controller <=> View, Model
- View <=> Model
대응 관계 (검토 필요)
- Controller : View = 1 : N
- Controller : Model = 1 : N
2. MVP 패턴
특징
의존성 관계
- View <=> Presenter <=> Model
대응 관계
- Presenter : View = 1 : 1
- Presenter : Model = 1 : N
3. MVVM 패턴
특징
- View와 Model, ViewModel간의 의존성 제거
- View와 ViewModel간의 Property 수준의 연결
- View에서는 특정 ViewModel의 형식이나 객체에 대한 정보를 알 수 없어야 한다
- VIewModel에서는 View의 UI 객체들이나 UI 관련 속성들을 직접 건드릴 수 없어야 한다.
의존성 관계
대응 관계 (검토 필요)
- VIewModel : Model = 1 : N
참고 링크
개발자로서 배울 점이 많은 글이었습니다. 감사합니다.