
MVC


- 시작은 Controller에서 시작되며, 끝은 View로 나간다.
- Controller가 Model, View와 통신한다.
- Model이 변경될 때 View도 결국엔 반영이 되어야 한다. 이때 아래와 같은 경우로 동작한다
- Controller가 Model의 변경사항을 View로 쏴주는 경우
- View가 Model의 변경사항을 Observing하다가 반영
- View, Model이 커질 수록 Controller가 방대해지는 문제가 있다.
- 모델이 자주 변경되는 경우에는 Model과 View의 의존성을 줄일 수 있는 MVP, MVVM 등의 다른 디자인 패턴을 사용하도록 한다.
MVP

- MVC와 비슷하나 Presenter가 View와 더 강하게 연결되어 Model과 View의 의존성을 줄일 수 있다.
MVVM

https://m.blog.naver.com/pjt3591oo/222034351034
Model View ViewModel 패턴으로 Model과 View의 의존성을 없애고 ViewModel로 이를 대체한 패턴.
View는 ViewModel을 주입받아 바인딩해준다.
참고 : https://m.blog.naver.com/pjt3591oo/222034351034