안드로이드 개발 입문단계에서는, View( Activity, Fragment )에서 View의 동작과, 데이터 처리까지 모두 작성하는 방법으로 안드로이드 앱을 제작했을 것이다. 하지만 이렇게 작성하게 되면 코드 작성은 쉬울 수 있지만, 여러 사람들과 협업을 했을 때, 코드 가독성이나 관리, 로직 구현이 굉장히 까다로워진다. 또한 하나의 class에 모든 처리를 위한 수많은 코드들이 들어가게 되어 스파게티 코드로 변환될 가능성이 있다. 그리고 UI에서 모든 걸 처리하기 때문에 비즈니스 로직에 따른 UI의 변화들을 직접 개발자가 바꿔줘야 하는 까다로움이 존재한다. 이로 인해 테스트 코드의 작성이 어려워지게 되며 유지보수에 굉장히 큰 어려움이 따를 수 있다. 이러한 단점을 극복하고자 나온 패턴이 바로 MVP ..