您的位置:首页 > 其它

MVP

2015-08-20 20:37 267 查看
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来操控。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: