모델-뷰-프리젠터

섬네일
모델-뷰-프리젠터(model-view-presenter, MVP)는 모델-뷰-컨트롤러(MVC) 아키텍처 패턴의 파생 패턴으로,사용자 인터페이스를 개발하기 위해 대부분 사용된다.

MVP에서 프리젠터는 "middle-man"의 기능을 담당한다. MVP에서는 모든 프레젠테이션 로직은 프리젠터로 넘어간다.

 개요 

 Model (모델) 
데이터 구조와 비즈니스 로직을 정의하는 계층으로, View, Presenter 등 다른 어떤 요소에도 의존적이지 않은 독립적인 계층이다.

 View (뷰) 
수동적 사용자 인터페이스로, presenter를 경유해 데이터를 전달받아 화면에 렌더링하는 역할만과, 사용자의 행동을 Presenter에게 위임하는 역할만을 수행하는 계층이다.

 Presenter (프레젠터) 
Model과 View사이의 매개체 역할을 하며, Model로부터 데이터를 반환받고, View가 화면에 나타낼 형식으로 데이터를 가공한다.

 예시 
public class DomainView : IDomainView
{
    private IDomainPresenter domainPresenter = null;

    ///<summary>Constructor</summary>
    public DomainView()
    {
        domainPresenter = new ConcreteDomainPresenter(this);
    }
}

 같이 보기 
 다층 구조
 모델-뷰-컨트롤러
 모델-뷰-뷰모델
 각주 

분류:소프트웨어 디자인 패턴
분류:아키텍처 패턴