///////
Search
Duplicate

아키텍처 패턴 선택

속성
기본 Domain 구성 가이드
답변 완료 여부 또는 인지 여부
질문 또는 인지 이유
어떤 아키텍처 패턴으로 개발을 진행하실 것인가요? (예시: MVC, MVP, MVVM, VIPER 등) 진행하는 아키텍처 패턴에 대해 간략히 적어주세요. (예시: View란? Model이란? 등)
MVVM 패턴으로 개발할 예정입니다.
MVVM 패턴에 대한 학습은 CMC 참여 전에도 했지만 제대로 알고 프로젝트에 적용해본 경험은 없어서 이번 기회에 제대로 공부하기 위해 MVVM 패턴을 선택했습니다. MVVM이란?
View
1.
Activity / Fragment 가 View 역할을 함
2.
사용자의 Action 을 받음 (텍스트 입력, 버튼 터치 등)
3.
ViewModel 의 데이터를 관찰하여 UI 갱신
ViewModel
1.
View 가 요청한 데이터를 Model 로 요청
2.
Model 로부터 요청한 데이터를 받음
Model
1.
ViewModel 이 요청한 데이터를 반환
2.
Room, Realm 과 같은 DB 사용이나 Retrofit 을 통한 백엔드 API 호출 (네트워킹) 이 보편적
ViewModel은 VIew에 표현할 데이터를 Observable 타입으로 관리하며, VIew들이 ViewModel에 데이터를 구독 요청하여 화면에 나타내는 것이 핵심입니다. (ViewModel과 View는 1:N 관계가 있습니다.) MVP에서 Presenter와 View가 강하게 결합되어 있다는 문제점을 해결하기 위해 ViewModel을 사용하는 것이므로 ViewModel이 View에 대한 의존성을 갖지 않고 느슨하게 연결되도록 해야합니다.
안드로이드 권장 아키텍처의 목표를 염두하며 AAC를 적극 사용할 예정이기 때문에 유의할 점이 있습니다.
-Jetpack ViewModel과 MVVM의 ViewModel는 사실상 서로 관계가 없다는 점 (Jetpack ViewModel은 구성 변경으로 일어나는 문제를 위해 해결하기 위해 존재) -AAC ViewModel은 View와 강하게 결합되어 있다는 점 Jetpack VIewModel로 MVVM의 ViewModel을 구현할 때 유의할 점이 무엇인지 알아보고 DI(Dependency Injection)를 공부 후 프로젝트에 적용하며 개발을 진행할 예정입니다. Android Architecture Components ViewModel을 간단하게 초기화 하려면? (thdev.tech)
+MVVM에 대해 공부를 하고 계시거나 MVVM 적용을 할 예정이신 분과 적극적인 소통을 하고 싶습니다..! 언제든 연락주세요~