MVP

1.MVP是一种广泛使用的UI架构模式,适用于基于事件驱动的应用框架,比如ASP.Net Web Forms 和 Windows Form 应用。MVP中的M和V分别对应于MVC中的Model和View,而P(Presenter)则自然代替了MVC中的Controller。但是MVC并非仅仅表现在从Controller到Presenter的转换,而是更多地体现在Model、View和Presenter之间的交互上。在MVP中,能够与Model直接进行交互的仅限于Presenter,View只能通过Presenter间接地调用Model。Model的独立性在这里的道路真正地体现,它不仅仅与可视化元素的呈现(View)无关,与UI处理逻辑(Presenter)也无关。但MVP的应用是用户驱动,而非Model驱动的,所以Model不需要通知View以提醒其状态发生了改变。

     MVP不仅仅避免了View与Model之间的深度耦合,更进一步降低了Presenter对View的依赖,Presenter以来的是一个抽象化的View,即具体的View实现的接口IView,这带来的直接的好处就是使定义在Presenter中的UI处理逻辑变得易于测试,由于Presenter对View的依赖行为定义在接口IView中,我们只需要Mock(模拟)一个实现了该接口的View就能对Presenter进行测试。

     构成MVP三要素之间的交互体现在两个方面,即View与Presenter以及Presenter与Model之间的交互。Presenter和Model之间的交互很清晰,它仅仅体现为Presenter对Model的单向调用。Presenter和View的交互有两种模式:PV(Passive View被动的View)以及SC(Supervising Controller)


2.PV:定义其中的针对UI元素的操作不是由View自身主动来控制,而是被动地交给Presenter来操控。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值