MVC与ASP.NET MVC框架

MVC与ASP.NET MVC框架

本次课程内容包括 • MVC模式 • MVC与三层架构模式 • WebForms vs ASP.NET MVC • 其他

MVC概述 • MVC模式是上世纪70年代末由Trygve Reenskaug提出,运用于Smalltalk平台上。 • 表现模式(UI / Presentation Pattern) • 三种角色 – Model:用于存储数据的组件(与领域模型概 念不同)。 – View:根据Model数据进行内容展示的组件 – Controller:接受并处理用户指令(操作 Model),选择一个View并输出内容。

MVC概述:协作 Controller→ View →Model←Controller

MVC概述:两种分离 • View和数据(Model)分离 –能够为相同的Model开发不同的View进行展示 – 分离可视与不可视得组件,能够对Model进行 独立测试(只有View到Model的单向引用) • View和表现逻辑(Controller)分离 – 分离逻辑与具体展示,能够对逻辑进行独立测 试(只有Controller到View的单向引用)

MVC的变种 • Observer模式 • MVP模式

MVC与三层架构

• MVC与三层架构类似?

 – View – UI Layer

 – Controller – BL Layer

– Model – DA Layer

• 其实不然

– MVC是表现模式(Presentation Pattern)

–三层架构是架构模式(Architecture Pattern)

– 没有太多可比性 

WebForms vs ASP.NET MVC

• WebForms的优点 – 将Web开发抽象成一个组件模型 – 使用方便,入门容易 –使控件产业大大加强

• WebForms的缺点 –封装太强——这还是Web开发吗? – 入门容易,用好难 – 不易进行单元测试,前后台不易配合

• 不过WebForms也在成长

ASP.NET MVC的优势

• 直接,Web开发就是Web开发

 • 易于对界面逻辑进行单元测试 – Design for testability

• 易于后台与前台开发人员的配合

• ASP.NET MVC是在ASP.NET平台下开发 Web应用程序的另一选择,并非为了取代 WebForms。

ASP.NET MVC的特点

• 一切都是可替换的

 – ViewEngine – Action Filter

• 一切都是可测试的

 • 公开源代码

 – 可以修改

–不可重新发布

社区资源

• ASP.NET MVC Preview 2

 • ASP.NET MVC @ CodePlex

• MvcContrib & CodePlex 

获取更多MSDN资源

 • MSDN中文网站 http://www.microsoft.com/china/msdn

• MSDN中文网络广播 http://www.msdnwebcast.com.cn

• MSDN Flash http://www.microsoft.com/china/newsletter/case/ msdn.aspx

• MSDN开发中心 http://www.microsoft.com/china/msdn/Developer Center/default.mspx

posted @ 2011-10-29 11:30  sofootball  阅读(171)  评论(0)    收藏  举报