Changes between Version 2 and Version 3 of waue/2011/spring
- Timestamp:
- Aug 24, 2011, 5:00:46 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
waue/2011/spring
v2 v3 163 163 Spring 所採用的是Dependency Injection 來實現 IoC,中文翻譯為依賴注入,依賴注入的意義是:「保留抽象介面,讓組件依賴於抽象介面,當組件要與其它實際的物件發生依賴關係時,藉過抽象介面來注入依賴的實際物件。」 164 164 165 == Type 2 IoC ==165 == Type 2 IoC : Setter injection == 166 166 167 167 BusinessObject 依賴於實際的 FloppyWriter,為了讓 BusinessObject 獲得重用性,不讓 BusinessObject 直接依賴於實際的 FloppyWriter,而是依賴於抽象的介面: … … 211 211 上面的BusinessObject所實現的是Type 2 IoC,透過Setter注入依賴關係, 212 212 213 == Type 3 IoC ==213 == Type 3 IoC : Constructor injection== 214 214 215 215 Type 3 IoC,則在是建構式上注入依賴關係,例如: … … 230 230 Spring 鼓勵的是 Setter injection,但也允許您使用 Constructor injection,使用 Setter 或 Constructor 來注入依賴關係視您的需求而定,使用 Constructor 的好處之一是,您可以在建構物件的同時一併完成依賴關係的建立,然而如果要建立的物件關係很多,則會在建構式上留下一長串的參數,這時使用 Setter 會是個不錯的選擇,另一方面,Setter 可以有明確的名稱可以瞭解注入的物件會是什麼,像是setXXX()這樣的名稱會比記憶Constructor上某個參數位置代表某個物件來得好。 231 231 232 == Type 1 IoC ==232 == Type 1 IoC : Interface injection == 233 233 234 234 Type 1 IoC是Interface injection,使用Type 1 IoC時會要求實作介面,這個介面是為容器所用的,容器知道介面上所規定的方法,它可以呼叫實作介面的物件來完成依賴關係的注入,例如: