认识MVC模型及其变种

为解决自治视图的维护问题,根据关注点分离出现了MVC。

Model:应用状态和业务逻辑的封装,我更乐意视之为Domain Model

View:呈现UI与捕捉用户交互动作

Controller:响应用户交互请求,完成UI逻辑

Asp.net MVC就是一种典型的MVC UI架构

 

MVP是MVC的一个变种,适用于事件驱动的框架。WebForms、WinForm。P,Presenter,只有Presenter能与Model交互,Model不需要主动通知View。MVP也降低了P对V的依赖,依赖于IView。

image

可见,Presenter与View的交互是MVP应用的核心。

View仅职责数据绑定、事件捕捉send message给Presenter。VP的交互如上图定义,有两点需明确定义

1、Presenter与IView定义的方法都没有返回值。体现为单向的数据流向。P所需的数据可以通过事件参数传递。

2、IView不定义属性。信息要有View通知Presenter发送

posted @ 2015-07-17 14:41  zzq417  阅读(237)  评论(0编辑  收藏  举报