MY MEMO
[UWP] MVC MVP MVVM 본문
출처 : https://academy.realm.io/kr/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/
MVC
- Model
데이터+상태+비즈니스 로직 = 두뇌
뷰나 컨트롤러에 묶이지 않아 많은 곳에 재사용 가능
- View
모델의 표현 즉 ui
버튼을 눌렀을 때 어떤 일을 하는지 알지 못함
- Controller
뷰가 컨트롤러에게 사용자가 버튼을 눌렀다고 알리면
컨트롤러는 어떻게 상호작용할지 결정
장점
- 모델과 뷰가 훌륭하게 분리됨
- 쉽게 모델을 테스트
단점 -> 컨트롤러
- 테스트의 용이성 : 컨트롤러가 api에 깊게 종속 -> 유닛 테스트가 어려움
- 모튤화 및 유연성 : 컨트롤러가 뷰에 단단히 결합 -> 뷰 변경시 컨트롤러 변경
- 유지 보수 : 컨트롤러가 많아지면서 코드가 비대해짐 -> 문제 발생이 쉬움
MVP
- Model
- View
-Presenter
뷰에 연결되는 것이 아니라 그냥 interface
interface안에 실행되는 것들을 넣어놓음
단점
- 유지보수 : 추가로 로직이 모여 거대하고 비대한 코드가 되지 쉬움
MVVM
-Model
-View
-View Model
뷰모델은 모델을 래핑하고 뷰에 필요한 옵저버블 데이터를 준비
뷰가 모델에 이벤트를 준비할 수 있도록 훅을 준비
뷰모델이 뷰에 종속되지는 않음
=> Binding 과 Command기능!
이해하기 쉬운 예제 : http://hackersstudy.tistory.com/89
'STUDYING > C#' 카테고리의 다른 글
[UWP] 기능 (0) | 2017.08.20 |
---|---|
[UWP] SQLite 시작하기 (0) | 2017.08.20 |
[UWP] Task Editor (0) | 2017.08.20 |
[UWP] Custom Checkbox (0) | 2017.08.19 |
[UWP] Drag and Drop Image (0) | 2017.08.19 |
Comments