三、ASP.NET MVC架构所具有的特征
ASP.NET MVC架构能够简化ASP.NET Web表单方案编程中存在的复杂部分,但是在威力与灵活性方面将一点也不会逊色于后者。ASP.NET MVC架构要实现的在Web应用程序开发中引入模型-视图-控制器(即“Model-View-Controller”)UI模式,此模式将有助于开发人员最大限度地以松耦合方式开发自己的程序。MVC模式把应用程序分成三个部分—模型部分,视图部分以及控制器部分。其中,视图部分负责生成应用程序的用户接口;也就是说,它仅仅是填充有自控制器部分传递而来的应用程序数据的HTML模板。模型部分则负责实现应用程序的数据逻辑,它所描述的是应用程序(它使用视图部分来生成相应的用户接口部分)的业务对象。最后,控制器部分对应一组处理函数,由控制器来响应用户的输入与交互情况。也就是说,Web请求都将由控制器来处理,控制器会决定使用哪些模型以及生成哪些视图。正如读者所猜想到的,MVC模型将使用其特定的控制器动作(Action)来代替Web表单事件。因此,使用MVC模型的主要优点在于,它能够更清晰地分离关注点,更便于进行单元测试,从而能够更好地控制URL和HTML内容。值得注意的是,MVC模型不使用Viewstate、Postback、服务器控件以及基于服务器技术的表单,因而能够使开发人员全面地控制视图部分所生成的HTML内容。MVC模型使用了基于REST(Representational state transfer)的URL来取代Web表单模型中所使用的文件名扩展方法,从而可以使我们构造出更为符合搜索引擎优化(SEO)标准的URL。当前,MVC仅仅支持.Net框架3.5版本。因此,如果你想要在.Net框架2.0下使用MVC的话,我建议你访问一下Scott Hanselman的撰写的博客文章(Deploying ASP.NET MVC on ASP.NET 2.0),你会从中找到相应的答案。
在本短文中,我并不是展示一个具体的MVC示例应用程序(因为一个简单的示例剖析就会占去相当的篇幅)。因此,关于MVC框架的具体实例,读者可以参考微软最权威专家Scott Guthrie的博客,也可以参考我发表在IT168中的几篇博文
(http://space.itpub.net/?uid-14466241-action-viewspace-itemid-344617)。
四、结论
选择将根据不同的人而有所不同。如果你想要更多控制HTML你想要进行测试驱动开发的话,或者你更关注Web标准,可访问性,或者你想构建SEO友好的URL,那么你可以选择MVC模型。如果你想要实现对系统的更好的控制以及想实现面向状态的事件驱动的Web开发的话,你可以选择Web表单模型。如果你感到使用MVC更舒适些,请选择这种模型好了;而如果你感到使用Web表单模型更舒适些,就应该毫不犹豫地选择使用Web表单模型。两者仅仅是选择的不同。如果你刚开始使用ASP.NET Web表单踏上你的职业生涯而还没有对Web有一个全面的了解,那么,你一下转到MVC模型方面肯定存在不少的困难。
较之于Web表单,我更为喜欢MVC模型,而且我感觉微软在今后更有可能朝着MVC作了更多的努力。这种模型所具有的技术特征以及开源天性深深地吸引了我。此外,MVC模型还允许我全面地控制HTML并且支持测试驱动开发(TDD)。还有,在MVC模式下,我们可以非常容易地集成进jQuery以及其他JavaScript开发框架。借助于C# 3.0中新引入的扩展方法,我们自己可以构造功能强大的丰富的帮助类。
Web开发模式的颠覆者:ASP.NET MVC
0
相关文章