MVC 패턴
Model에서는 비지니스로직
View에서는 UI로직 제공
Controller에서는 조립을 담당 어떤 View를 보여줄것인가를 결정해서 Model에서 받은 데이터를 View로 넘겨주고 에러를 어떻게 보여줄것인가를 결정해서 View로 넘겨주는 방식
단점
1. 복잡한 비동기처리 , 라이프 사이클 처리가 어렵다.
2. View와 Controller의 분리가 애매하다. -> fat activity, fragment : 액티비티와 프래그먼트에 너무 많은 로직이 들어간다.
unit test를 만들기 매우 까다롭다.