내가 주로 사용하는 패턴은 mvc, mvvm인데 사실 이것도 제대로 이해하고 사용하는 편은 아니다. 그래도 새로운 개념을 배울때 목적을 알고 하면 이해하기 쉬워서 mvp의 목적에 대해 먼저 찾아보니 MVP란? model - view - presenter로 mvp가 나오게 된 이유는 view와 model을 완전히 분리해서 사용하기 위함이다. mvp는 model의 역할인 비즈니스 로직을 독립적으로 테스트할 수 있게된다. 뷰 뷰에 직접 접근해서 ui요소를 다룬다. 근데 추가로 뷰에서 발생하는 이벤트들에 대한 핸들링이 필요한데. presenter에 위임하는 것이 mvp패턴이다. 그래서 뷰(view, viewcontroller)가 presenter를 소유한다. 그리고 사용자 입력이나, 이벤트가 발생하면 prese..