패턴의 논리적인 뷰

Cc707885.d7533449 - 4a8a - 31b2 - b258 - 316be0fdaf3f (엉 - 우리, MSDN.10)의 PNG.

종합 WPF 응용 프로그램에서 프레 젠 테이션 모델 패턴을 사용함으로써,

개발자들은 데이터 - 바인딩 기능을 윈도우 프리젠 테이션 파운데이션 (WPF)에 의해 제공을 사용할 수있습니다.

애플 리케이션 데이터에 대한 데이터를 자동으로 그 가치를 변경하면 변경 사항이 반영 묶여있다 요소 바인딩.

또한, 데이터 바인딩 요소를 변경하는 경우에 데이터의 외부 표현, 기본 데이터를 자동으로 업데이트 될 수있는 변경 사항을 반영하기 위해 의미할 수있습니다. 예를 들어, 사용자가 기본 데이터 값을 자동으로 업데이트 됩니다 그 변경 사항을 반영에 TextBox 요소에서 값을 편집합니다.

 

보통의 개발단계

The typical implementation process of the Model-View-Presenter pattern includes the following tasks:

-Implementing a presenter class . (presenter class  구현)

-Implementing a view interface. The view interface should expose the view's state elements.( 뷰 인터페이스 구현)

-Implementing a view class . ( 뷰클래스 구현 )

Cc707895.8b48bd07 - 0f4f - 4ffc - 8cfd - f2c14a3d57aa (엉 - 우리, MSDN.10)의 PNG.

일반적인 프로젝트  모습

 

구현방법

ViewName Presenter.cs

class EmployeesPresenter
{
  private IEmployeesView view;

  public EmployeesPresenter (IEmployeesView view)
  {
    this.view = view;
  }
}

view interface는 일반적으로 설정하거나 보기의 상태를 쿼리는 발표자에 대한 하나 이상의 속성이 포함되어있습니다.

For example, a view could expose an Employee property that allows the presenter to set the employee that the view should display.

예를 들어, 직원의 견해 발표자보기를 표시해야 그 속성을 설정할 수있는 직원에 노출될 수 있다.

Another approach consists of using the Presentation Model pattern.

또 다른 접근 패턴을 사용하여 프레 젠 테이션 모델로 구성되어있습니다.

In this case, the view interface contains a single property for the presenter to set the presentation model.

이 경우에는 view interface는 Presentation 모델을 설정할 수있는 presenter  를위한 단일 속성이 포함되어있습니다.

A different approach consists of exposing methods on the view interface.

다른 접근 방식을 볼 interface에 노출로 구성되어있습니다.

For example, the presenter could invoke a method named ShowEmployee ( Employee ) that indicates to the view that it has to display the employee passed by parameter.

예를 들어, 발표자), 그 직원을 표시하려면이 매개 변수에 의해 통과를 볼 수있는 방법을 나타냅니다 ShowEmployee (Employee)라는 호출할 수있습니다.

public class EmployeesDetailsPresenter : IEmployeesDetailsPresenter
{
    public EmployeesDetailsPresenter(IEmployeesDetailsView view)
    {
        this.View = view;
    }

    public IEmployeesDetailsView View { get; set; }

    public void SetSelectedEmployee(BusinessEntities.Employee employee)
    {
        EmployeesDetailsPresentationModel model = new EmployeesDetailsPresentationModel();
        model.SelectedEmployee = employee;
        this.View.Model = model;
    }
}

public interface IEmployeesDetailsView
{
    EmployeesDetailsPresentationModel Model { get; set; }
}

+ Recent posts