뷰와 뷰모델을 최대한 나누기 위해서는 -> 팩토리 패턴 사용
AAC-ViewModel을 활용하면 라이프사이클에 종속되지 않을 수 있다?
뷰모델은 뷰모델대로 쓰고
화면 회전, 전환 등에 데이터를 유지하고 싶은 경우에 AAC뷰모델을 사용한다.
MVP : 프레젠터에서 Context를 빼야 함 -> Unit Test를 위해서는 컨텍스트가 없어야 한다.
안드로이드 신입개발자 맛보기
코드의 재사용 성 및 뷰와 데이터의 분리를 위해 MVP MVVM사용
MVP : 뷰와 비지니스 로직의 분리 빛 수정이 쉬워진다.
-> V와 P가 1:1 관계이기 때문에 재사용이 어려움
MVVM
뷰가 뷰모델의 데이
뷰에서 이벤트 발생 시 뷰모델에게 모데로 부터 데이터 요청
모델은 API를 통해 데이터를 가져온다.
뷰는 뷰모델을 알지만 뷰모델은 뷰를 모른다.
뷰모델을 여러개의 뷰에서 재사용 가능
-> 코드 재사용성 증가, BoilerPlate code 감소
코틀린 MVVM rxJava 적용기
try Kotlin 전부 떼고 코틀린 문서 작성
Java8을 잘하면 코틀린도 잘할 수 있다.
Effective java
Android + DI + Koin
Dagger v2
-> 높은 진입 난이도
Dependency Injection
Android Clean Architecture -> presentaion /Domain/ Data
Koin
- 경량화된 DI 라이브러리
(가볍게 인스턴스를 넣는다.)
1.0.2 사용중 -> (1.0.0이 18년 9월)
모듈, 팩토리, 싱글, 겟, 바인드