熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

Castle在“新.NET時代”將何去何從

2013-11-13 09:54:12  來源: .NET編程 

  國內的NET開發人員相信對於Castle都不會陌生Castle是針對NET平台下的一個非常優秀的開源項目從數據訪問框架   ORM到依賴注入容器再到WEB層的MVC框架AOP基本包括了整個開發過程中的所有東西為我們快速的構建企業級的應用程序提供了很好的服務Castle在歷經好幾年經過了個RC版本之後終於要發布版本了

  筆者對於Castle項目的研究也有很長一段時間也寫過大量的Castle的文章但是隨著微軟NET時代的到來Castle項目將會面臨一些尴尬如何找到自己的定位後續如何發展是Castle項目作者不得不考慮的一個問題

  數據訪問ActiveRecord

  Castle中的ActiveRecord是一個輕量級的ORM組件它在底層封裝了NHibernateNHibernate是一個基於Net用於關系數據庫的對象持久化類庫它是著名的Hibernate的Net版本采用xml配置文件進行關系的映射在ActiveRecord中則對這種方式進行了進一步的封裝采用特性(Attribute)的方式進行映射隨著微軟在NET Framework 中推出了自己的輕量級ORM——LINQ to SQL ActiveRecord的處境變得有些尴尬盡管有人會說LINQ to SQL目前只支持SQL Server是的但是LINQ強大的擴展性相信大家都看到了吧現在LINQ對Oracle數據庫的接口已經開放所以這點在不遠的將來一定會得到解決在微軟的實體框架發布時對Oracle數據庫的LINQ支持一定沒問題

  MVC框架MonoRail

  在年的時候微軟發布了ASPNET Extentions的第一個CTP版本其中最引人矚目就是ASPNET MVC Framework在這之前Castle中的MonoRail可以說是NET平台下最為著名的MVC框架由於ASPNET MVC Framework的出現NET開發界引起了一場諸如為什麼會出現ASPNET平台下的MVC框架MS MVC框架漩渦中的MonoRail未來等的討論的確在微軟ASPNET MVC Framework之後MonoRail處於一個進退兩難的境地Hamilton也說MonoRail 最終結果如何取決於MS MVC框架的實現如果最終的MS MVC非常棒並且提供了很多功能我會考慮放棄MonoRail 如果MS MVC最終版不是那麼完美缺少了必須實現的功能那麼MonoRail 可以復用MS MVC的基礎架構以提供一些有價值的擴展但是有一點毋庸置疑那就是ASPNET MVC Framework擁有的觀眾數量將是MonoRail無法達到的?

  依賴注入容器Windsor Container

  Windsor Container在Castle中的地位舉足輕重相信有很多朋友都是通過它才開始學習Castle的Windsor Container以其良好的設計簡潔的配置很快贏得了開發者的口碑正當Castle經過了個RC版本准備發布正式版時微軟模式與實踐團隊在其團隊博客中公布了微軟依賴注入容器的開發計劃命名為Unity並且將會把其他個應用程序塊都移植到Unity之上這對於Castle來說無疑又是一個晴天霹雳雖然在模式與實踐團隊目前發布的Unity CTP版本中我們看到它的設計有些還是非常的丑陋如構造函數注入和屬性注入等但是有一點我們不得不承認只要是微軟官方發布的產品NET開發者都會去用而且擁護程度遠遠超過開源項目

  結束語

  過不了多久Castle將會發布版本了在微軟LINQASPNET MVC FrameworkUnity等產品的重重包圍Castle能夠找到一條自己的出路在新發布的版本中將會給我們帶來怎樣的驚喜讓我們拭目以待吧


From:http://tw.wingwit.com/Article/program/net/201311/11917.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.