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