Duffblog

前进一步,看看,需要前进更大一步才可以。

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  5 随笔 :: 53 文章 :: 5 评论 :: 0 Trackbacks
Ioc:Inversion Of Control。即控制反转。
IoC模式基本上是一個高層的概念,在Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern中談到,實現IoC有兩種方式:Dependency Injection與Service Locator。
您可以在下面的網址中找到該篇文章:
http://www.martinfowler.com/articles/injection.html(这个要好好看看。)
Spring所採用的是Dependency Injection來實現IoC,中文翻譯為依賴注入,依賴注入的意義是:「保留抽象介面,讓組件依賴於抽象介面,當組件要與其它實際的物件發生依賴關係時,藉過抽象介面來注入依賴的實際物件。」
依賴注入在Martin Fowler的文章中談到了三種實現方式:interface injection、setter injection與constructor injection。並分別稱其為type 1 IoC、type 2 IoC與type 3 IoC。
-----------------------------------
Spring支持type2Ioc(setter),以及type3Ioc(constructor )。在Xml中就支持这两种。
type 1 IoC,脫離目前這個容器,就必須修改程式,想想在更複雜的依賴關係中產生更多複雜的介面,組件與容器(框架)的依賴會更加複雜,最後使得組件無法從容器中脫離。
所以type 1 IoC具有強的侵入性,使用它來實現依賴注入會使得組件相依於容器(框架),降低組件的重用性。
-----------------------------------
总结:
Spring的核心是個IoC容器,您可以用setter或constructor的方式來實現您的業務物件,至於物件與物件之間的關係建立,則透過組態設定,讓Spring在執行時期根據組態檔的設定來為您建立物件之間的依賴關係,您不必特地撰寫一些Helper來自行建立這些物件之間的依賴關係,這不僅減少了大量的程式撰寫,也降低了物件之間的耦合程度。
posted on 2006-10-16 17:08 追球者 阅读(263) 评论(0)  编辑  收藏 所属分类: 开源技术

只有注册用户登录后才能发表评论。


网站导航: