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

浙公网安备 33010602011771号