일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- OkHttp Interceptor
- 카카오 알고리즘
- Android DataBinding
- 영어독립365
- Kotlin FCM
- Android Interceptor
- android recyclerview
- 영어공부
- MVP Architecture
- 습관만들기
- 안드로이드 갤러리 접근
- Android Jetpack
- 알고리즘 자바
- Android
- 66챌린지
- Android ProgressBar
- Android Navigation
- WebView
- Android ViewPager2
- 안드로이드 fcm
- scope function
- Android 12
- Kotlin
- DataBinding
- 안드로이드
- Android WebView
- Java
- 안드로이드 카카오 로그인
- Android 12 대응
- 프로그래머스 알고리즘
Archives
- Today
- Total
Developer Geek
MVVM 이란 본문
반응형
Model + View + ViewModel
- Model: 데이터 원본의 추상화를 담당한다.
- View: ViewModel에게 유저의
action
을 알려주는 역할을 담당한다. 그리고ViewModel
를 구독하여 UI Data를 관리하고application logic
을 담당하지 않는다. - ViewModel:
View
와 관련된 데이터의 흐름을 관장한다. 추가적으로Model
과ViewModel
을 연결한다.
MVVM 특징
- App의 생명주기 상태가 유지된다.
- UI 요소는 비즈니스 로직과 무관하다.
- 비즈니스 로직과 db 운영과의 종속성이 없다.
- 프로젝트를 이해하고 코드를 읽는 것이 쉽다.
MVVM 장점
- 유지보수: 비즈니스 로직이 View와 독립적으로 돌아가기 때문에 수정보완이 빠르고 다음 버전을 신속하게 출시할 수 있다.
- 확장성: 새 코드를 교체하거나 추가하기 용이하다.
- 테스트 가능성: 핵심 로직같은 것들을 유닛 테스트 하기 쉽다.
MVVM 단점
- 작은 프로젝트(Simple UI)에서는 오버스펙이다.
- 너무 큰 프로젝트인 경우 ViewModel을 디자인하기 어렵다.
- 복잡한 data binding을 사용할 경우 Debugging이 어렵다.
참고 블로그
질문과 잘못된 점에 대해 말씀해주시는 건 언제나 환영입니다.
zero5.two4@gmail.com
반응형
'안드로이드 > Pattern' 카테고리의 다른 글
[Android] MVP Basic Sample in Kotlin (0) | 2022.08.27 |
---|---|
[Android] MVP Architecture (1) | 2022.08.26 |
Builder Pattern 이란 (0) | 2022.06.12 |
Singleton Class in Kotlin (0) | 2022.06.01 |
Comments