?1 . IoC模式(Inversion of Control)? 反轉控制?? 即? Dependency Injection 依賴注射
??????依賴注入的意義是:“保留抽象接口,讓組件(Component)依賴于抽象接口,當組件要與其它實際的對象發生依賴關系時,藉過抽象接口來注入依賴的實際對象。”
??????分離關注( Separation of Concerns : SOC)是Ioc模式和AOP產生最原始動力,通過功能分解可得到關注點,這些關注可以是 組件Components, 方面Aspects或服務Services。
??????Interface Driven Design 接口驅動 GoF設計模式中推崇的編程方式。AInterface a = new AInterfaceImp();?
??????
??????著名的好萊塢理論:Don't call me,I will call you. 你呆著別動,到時我會找你。
??????依賴注入在Martin Fowler 的文章中談到了三種實現方式:Interface injection 、Setter injection 與Constructor injection 。并分別稱其為Type 1 IoC 、Type 2 IoC 與Type 3 IoC 。
??????三種注入方式:■ 接口注入 ■ 屬性注入? ■ 構造函數注入?
??????Ioc模式(Dependency Injection模式)有三種:
第一種類型 | 從JNDI或ServiceManager等獲得被調用者,這里類似ServiceLocator模式。 | 1. EJB/J2EE 2. Avalon(Apache的一個復雜使用不多的項目) |
第二種類型 | 使用JavaBeans的setter方法 | 1. Spring Framework, 2. WebWork/XWork |
第三種類型 | 在構造方法中實現依賴 | 1. PicoContainer, 2. HiveMind |
?2.? AOP
??????pointcut
??????advice
3. Annotation
??????在已經發布的JDK1.5(tiger)中增加新的特色叫 Annotation。Annotation提供一種機制,將程序的元素如:類,方法,屬性,參數,本地變量,包和元數據聯系起來。這樣編譯器可以將元數據存儲在Class文件中。這樣虛擬機和其它對象可以根據這些元數據來決定如何使用這些程序元素或改變它們的行為。
?4.? 相關資源站點
??????spring官方網站 http://www.springframework.org/
??????spring中文論壇 http://spring.jactiongroup.net/
??????不斷更新中。。。