[一步一步MVC]第三回:MVC范例大觀園
系列文章導航:
[一步一步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的區別。
既然是大觀園,可能以后還有補充,誰有更好的分享也可以在留言提供給我,以方便大家“有底放肆”。至于品評和討論,還是放在以后吧。
留言列表