本系列文章导航
[一步一步MVC]第一回:使用ActionSelector控制Action的选择
[一步一步MVC]第二回:还是ActionFilter,实现对业务逻辑的统一Authorize处理
[一步一步MVC]第四回:漫谈ActionLink,有时“胡搅蛮缠”
[一步一步MVC]第五回:让TagBuilder丰富你的HtmlHelper
MVC是个新鲜的东西,至少为ASP .NET Web世界带来或多或少的争议,褒奖者有之,诋毁者有之。这也正常,人类的思维确实没法统一,即便是多个选择其实是件好事儿也一样。不管怎样,评说者至少应该在了解的基础上再进行评论,才显得“专业”,没有品味的找茬型选手实在不值得恭维。
作为MVC范例集锦,我将MVC发布之后业界的应用开源项目做个简单的整理,Anytao不打算对任何项目发表个人观点,因为有些项目未经本人了解,所以此处仅是one by one式的陈列,期望对学习者有些帮助而已。
NerdDinner随着ScottGu、Phli几位大牛为作品《Professional ASP.NET MVC 1.0》谱写的辅助系统,同时通过一个在线系统http://www.nerddinner.com/以生动的实例来展现MVC技术,NerdDinner示例贯穿全书,尤其是第一章的Walkthrough可以让我们对MVC有个初次了解。
该范例是asp.net/mvc的讲解实例,因为它太简单以至于没有什么好说的,初入MVC的同学可以关注一下,安装step by step的方式构建自己的Contact Management应用。
不知为什么范例程序常常以Store来演示(例如Petshop),可能的原因是Store应用简单而全面,所以MVCStore应用也是这样一个简化示例, 我们可以研究研究。
业界对Oxite有不少批评,Rob Conery是最尖锐的一个,作为“号称”微软MVC范例的Oxite,虽有些细可圈可点,但是离微软官方范例的角度确实还有距离。园子的代震军发表的关于两个MVC示例的思考(MVCStore和Oxite),对此进行的讨论或许可以给您以思考,从应用角度而言Oxite其实并非一无是处,很多点上还是有不错的运用,例如关于ActionFilter和IoC的应用是值得参考的。
Kigg是Codeplex上开源项目,从项目规模上而言,Kigg属于“大块头”,以MVC为基础架构,同时设计很多技术应用,单元测试也有不错可借鉴的地方。
Ezsocio至少可以是个范例,一套基于微软.NET平台的Social Network Software(SNS)系统,会用到许多最新开发技术,如ASP.NET MVC、LINQ、WCF、Unity、JQuery等,虽然还是个半成品,但是作为对于MVC学习和了解角度而言,还是“够用的”。例如以Unity为容器的IoC设计、JQuery在MVC的应用、Validation、Cryptography、Repository模式等,好了不做广告了,那只是个还没有完成的作品。
Sharp-Architecture是MVC和NHibernate应用范例,作为号称“Sharp Architecture”的应用,我想一定可以为我们呈现不一样的设计,对于了解MVC和NHibernate的人或许是个不错的选择。
fubumvc,可以看作是for us by us MVC,是老赵同志推荐给我的。fubumvc在了解ASP .NET MVC核心架构的基础上,表达了作者“不同意”ASP .NET MVC对于设计的理解,所以几个人凑在一起合谋了fubumvc Framework。这里,有一些关于FubuMVC和ASP .NET MVC的区别。
既然是大观园,可能以后还有补充,谁有更好的分享也可以在留言提供给我,以方便大家“有底放肆”。至于品评和讨论,还是放在以后吧。