MVC 패턴에서 파생되어 나온 패턴으로 View 와 Model을 완전히 분리하여 서로의 의존성을 낮추기 위해 Controller 대신 Presenter를 사용합니다.
Model : 데이터와 행동을 가지는 객체로 비즈니스 로직을 수행
View : UI를 담당하는 부분
Presenter : Model과 View사이에서 데이터를 전달하는 역할. View와 1대1 관계를 가진다.
- View에서 유저의 이벤트가 발생한다.
- View에서 Presenter로 이벤트를 전달한다.
- Presenter에서 필요한 데이터를 Model에게 받는다.
- Presenter에서 Model로부터 받은 데이터를 처리하고 View에게 전달한다.
- View에서 전달받은 데이터로 화면을 보여준다.