📱 안드로이드 Android ~ Kotlin

안드로이드 아키텍쳐 컴포넌트 AAC (Android Architecture Components)

핑크빛연어 2021. 8. 6. 23:45

 

AAC 안드로이드 아키텍쳐 컴포넌트 (Android Architecture Components)

안드로이드 아키텍쳐 컴포넌트는 앱 구조를 더 튼튼하고, 테스트에 용이하고, 유지 보수성이 뛰어나게 만들어 주는 라이브러리 모음.

아키텍쳐 컴포턴트에서는 조금 더 모듈화된 코딩을 돕기 위해 Databinding, LiveData, ViewModel 등의 유용한 라이브러리를 제공하며, 이러한 라이브러리의 모음은 MVVM 패턴의 구조의 설계에 최적화되어 있다.

 

안드로이드 아키텍쳐 (AAC) 를 사용하면 좋은점

1. 일관적인 코드작성으로 유지보수와 협업의 편리함
2. 생산성 향상
3. 테스트의 용이성
4. 어플리케이션 개발 방향의 유리함


안드로이드 아키텍쳐 (AAC) 종류

1. MVC : Model + View + Controller
2. MVP : Model + View(ViewController) + presenter
3. MVVM : Model + View(VIewController) + ViewModel
4. MVVM + DataBinding

 

 

 

1. MVC

Controller 는 액티비티가 컨트롤러의 역할을 하며, View 와 연결되어 유저와 상호작용도 하고, Model 과 연결되어 data 작업도 처리.

즉 View 와 Model 사이에서 중재자 역할.

 

 

2. MVP

View 는 일반적인 Activity, Fragment 로 비지니스 로직을 직접적으로 Presenter 를 통해 호출.

Presenter 는 매개체가 되며, Model 에 직접적으로 접근하여 가공 후 콜백으로 결과를 리턴.

 

 

3. MVVM

View 는 직접적인 비즈니스 로직을 ViewModel 을 통해 호출.

매개체인 ViewModel 은 라이프사이클에 맞게 LiveData 라는 data 변경을 관찰 할 수 있는 DataHolder 클래스를 기반으로 모델에 접근하여 data를 가공해서 가져온다.

모델은 데이터 변경이 되었을 시 holder 클래스에 담아서 Succ/Err 형태로 ViewModel 에 던져주고 

View 는 ViewModel을 관찰(Observe)하며 data 변경을 감지한다.

뷰에서 뷰모델로, 뷰모델에서 모델로 작업을 처리하며, 뷰에서 모델을 직접 참조하지 않는다.

 

 

4. MVVM - Databinding

 

 

 

 

 

728x90
반응형