공식 문서
앱 아키텍처 | Android 개발자 | Android Developers
앱 아키텍쳐 관련글
안드로이드 앱 아키텍처 가이드를 따르라!
관심사분리란?
공식 문서에도 나와있는 말이지만, Solid 의 단일 책임 원칙에 따라, 각 관심사별로 분리해서 코드를 작성해야 된다.
Activity, Fragment 에 모든 코드를 때려박아 작성하면 유지보수가 어려워지고 복잡성이 증가한다.
- MVC의 경우 View 와 Controller가 Activity에서 모두 처리되어야 하기 때문에 Activity가 커지는 문제가 있어서 관심사의 분리가 비교적 완할하지 않다.
- MVP의 경우 Presenter가 뷰와 1:1 로 동작하기 때문에 뷰와 프레젠터의 의존성이 강해지는 문제가 발생한다. 이에따라 종종 프레젠터의 로직이 비대해지는 문제가 발생하기도 한다.
Activity, Fragment 클래스들에는 UI 관련 로직만 작성해야 된다.