MVP - simple example

  • I like to keep views decoupled or unaware of the presenters, hence Views communicate to the presenter by raising events. This eliminates the need for the view to have a reference to the presenter. Keep Views thin and dumb.
  • The presenter on the other hand has a member reference to the view (and the model) usually. Hence it can talk to the view by making method calls via an interface (permits views to be substituted as long as they conform to the IView interface). e.g. In your case, Set_X_Option(eOptionEnum) would be a member of the IView Interface, which the presenter can then invoke appropriately.

Refer from http://stackoverflow.com/questions/246028/mvp-events-or-property

public interface ICurrentTimeView {
    DateTime CurrentTime { set; }
}

public class CurrentTimePresenter {
    public CurrentTimePresenter(ICurrentTimeView view) {
        if (view == null)
            throw new ArgumentNullException("view may not be null");

        this.view = view;
    }

    public void InitView() {
        view.CurrentTime = DateTime.Now;
    }

    private ICurrentTimeView view;
}

public partial class ShowMeTheTime : Page, ICurrentTimeView {
    protected void Page_Load(object sender, EventArgs e) {
        CurrentTimePresenter presenter = new CurrentTimePresenter(this);
        presenter.InitView();
    }

    public DateTime CurrentTime {
        set { lblCurrentTime.Text = value.ToString(); }
    }
}
<asp:Label id="lblCurrentTime" runat="server" /
 

转载于:https://www.cnblogs.com/webglcn/archive/2012/10/23/2735424.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值