IntraWeb下Model-View-Presenter开发实战--创建篇之二(Presenter)

View的"中介者"或"观察者"--Presenter

 

unit IWA.Presenter.LoginPresenterImpl;

 

interface

 

uses IWA.View.LoginViewIntf, IWA.DTO.LoginDTOIntf, IWA.Model.LoginModelIntf;

type
  TMainPresenter = class
  private
    FView: ILoginView;
    FModel: ILoginModel;
    function MakeDTO: ILoginDTO;
    procedure OnViewSubmit;
  protected
  public
    procedure AfterConstruction; override;
    constructor Create(AView: ILoginView; AModel: ILoginModel);
  end;

 

implementation

 

uses IWA.DTO.LoginDTOImpl;

 

{ TLoginPresenter }

 

procedure TLoginPresenter.AfterConstruction;
begin
  inherited;
  FView.OnSubmit := OnViewSubmit;
end;

 

constructor TLoginPresenter.Create(AView: ILoginView; AModel: ILoginModel);
begin
  inherited Create;
  FView := AView;
  FModel := AModel;
end;

 

function TLoginPresenter.MakeDTO: ILoginDTO;
begin
  Result := TLoginDTO.Create;
  Result.UserID := FView.UserID;
  Result.UserPassword := FView.UserPassword;
end;

 

procedure TLoginPresenter.OnViewSubmit;
var
  DTO: ILoginDTO;
begin
  DTO := MakeDTO;
  FModel.CheckLoginInfo(DTO);
  FView.UserName := DTO.UserName;
end;

 

end.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值