안드로이드 아키텍처 컴포넌트

    [Android] Android Architecture Components(AAC)

    구글에서 권장하는 아키텍처의 원칙은 '관심사 분리'와 '데이터 모델에서 UI 도출'이다. Activity나 Fragment와 같은 UI 기반의 클래스는 UI 및 운영체제 상호작용을 처리하는 로직만 포함되어야 한다. 위와 같은 클래스들은 최대한 가벼운 상태로 유지하여 수명 주기와 관련된 문제들을 피하고 테스트가 쉽도록 고려되어야 한다. 또한 OS가 언제든지 사용자에 의해 메모리 부족과 같은 시스템적인 조건으로 UI클래스들을 제거할 수 있기 때문에 로직의 성격에 따라 분리하여 UI클래스에 대한 의존성을 최소화하는 것이 좋다. 또한 UI는 데이터를 처리하는 모델에 의해 도출되어야 한다. 모델은 네트워크에 문제가 있거나 OS가 리소스를 확보하기 위해 앱을 제거해도 사용자의 데이터 또는 앱의 동작은 문제없이 지속..