Open yoogail105 opened 2 years ago
View
Model
ViewModel
연결
동기화
ViewController
Distribution
Testability
Ease of use
버튼을 누르는 이벤트 발생
text표시하는 함수 실행
단방향
들어가기 전에 🔗1. MVC 패턴 🔗2. MVP 패턴
3. MVVM 패턴
🤔 MVP와 비교
유사점
View
View
-Model
사이에 긴밀한 연관성이 없다.차이점
View
-ViewModel
사이의 bindingViewModel
-Model
간 1:N 소통🔎 MVVM 역할
Model
: 비즈니스 로직, dataView
: UIView
에 해당ViewModel
: 프레젠테이션 로직, View와 Model의 중재자 역할📬 Bindings
View
와,ViewModel
간의 의존 관계를 단순화View
만이ViewModel
에 의존하고,ViewModel
은View
를 모른다.ViewModel
이 가지고 있는 데이터의 변경을View
에 전달하기 위한 방법연결
시켜,동기화
되도록 하는 방식ViewModel
과ViewController
가 서로에게 데이터의 변경을 알려주는 방식📊 MVVM 장단점
📈 장점
View
:ViewModel
= N : 1 관계📉 단점
🖍 MVVM와 좋은 아키텍쳐 요소
Distribution
: MVP의 View보다 더 많은 책임을 가짐Testability
: ViewModel은 View를 모른다 → 독립성 → Texstability 높임Ease of use
: binding 사용 → 코드의 양 줄어든다.🔖 참고