Spring Framework天生麗質,因為其先進的架構和對一系列前沿開發思想的集成,使它從一產生就深得開發者歡迎,它將設計模式運用到了爐火純青的地方,它的幽雅和魅力征服了許多JAVA開發者,使這些開發者成為了它的信徒,得程序員心者得天下,Spring引領了J2EE開發的潮流,同時Spring和各種框架的強強聯手也為它的信徒的盡早飛翔插上了翅膀,比如老大哥SSH(配置煩瑣的struts和Hibernate、Spring的集成)、後起之秀EJSA(身材輕便使用靈活及零配置的EASYJWEB+JPA+Spring+Acegi,適合與注重高效率開發的個人和企業)等都借助Spring走向了成熟,為開發者帶來了無盡方便。
那麼做為.Net開發者我們能不能欣賞和品嘗Spring這道大餐呢,答案是肯定的,Spring開發團隊對應用與JAVA的Spring框架思想進行移植,貢獻出了適合與.Net項目開發的Spring.NET框架。網上Spring.Net的中文資料很少,在BAIDU上目前搜索不到關於spring.net的中文資料,這裡我們盡可能的使用中文來說明。
首先我們來認識一下Spring.NET,簡而言之Spring.NET就是利用各種強大的設計模式做為工具來管理我們的項目體系結構。 Spring.NET使用優秀和久經考驗的設計模式,使我們能夠科學合理的管理和整合我們企業級開發中的各個層面及一些分散的組件,並良好的協調和處理它們之間的關系,增強項目的健壯性。
Spring.NET的IoC容器所解決的,正是如何在企業應用中將類、對象和服務組合成應用程序的問題。IoC容器通過很正統(按:formalized,言下之意是這些方式都是已經定型了的、經過了業界多年考驗的)的方式將分散的組件組合成完整的應用程序。Spring.NET框架所采用的,都是被業界無數應用程序考驗多年的、已經被定型為設計模式的最佳編程方式,實際上,這些模式已經成為我們架構和開發時的法典,而通過Spring.NET,我們可以直接將它們整合到自己的應用程序中。目前已有很多組織和機構用Spring框架開發出了強壯的、維護性好的應用程序,這確實是一件非常好的事情。
模塊說明:
一.Spring.Core作為整個框架的基礎,實現了依賴注入的功能。
Spring.NET的大部分模塊都要依賴或擴展該模塊。Spring.Core的基礎是IObjectFactory接口,該接口用一個簡單而優雅的方式實現了工廠模式,使我們可以無需自行編寫singleton類型和眾多的服務定位器,並允許將對象配置及其依賴關系與具體的程序邏輯解耦。該模塊中的IApplicationContext接口是IObjectFactory的擴展,增加了諸多企業級功能,包括使用資源文件進行文本本地化、事件傳播和資源裝載等等。
二.Spring.AOP為業務對象提供面向方面編程(AOP)的支持。
AOP完善了IoC容器的功能,為創建企業應用和使用聲明式服務奠定了堅實的基礎。
三.Spring.Web對ASP.NET進行了一系列功能擴展,包括對ASP.NET頁面進行依賴注入、雙向數據綁定、在ASP.NET 1.1中使用Master page、以及增強的本地化功能支持等。
四.Spring.Services允許將任意的“普通”對象(意為沒有繼承任何指定基類型的對象)發布為企業服務(COM+)或遠程對象。
通過依賴注入和特性元數據覆蓋等功能,該模塊可使.NET的Web服務獲得極大的靈活性。同時也支持Windows後台服務。
五.Spring.Data定義了一個抽象的數據訪問層,可以跨越各種數據訪問技術(從ADO.NET到各種ORM)進行數據訪問。
該模塊包含一個ADO.NET的抽象層,減少了使用傳統ADO.NET進行編碼和事務管理時的工作量。
六.Spring.ORM為時下流行的ORM類庫提供了一個整合層,其中包含聲明式事務管理等諸多功能。