posts - 120,  comments - 19,  trackbacks - 0
          Spring學習筆記(一)依賴注入
          ?
          依賴注入——是Spring最靈魂的設計思想,有人也叫做控制反轉。
          1、不管是依賴注入(DI:Dependency Injection)還是控制反轉(IoC:Inversion of Control)它的思想是:控制權由應用代碼中轉到了外部
          容器,即組件之間的依賴關系由容器在運行期決定,形象的來說,即由容器動態的將某種依賴關系注入到組件之中。
          2、依賴注入的目標并非為軟件系統帶來更多的功能,而是為了提升組件重用的概率,帶來靈活性。
          3、舉個例子來說明這個問題。
          我曾看到夏昕的《Spring 開發指南》,上面為說明這個思想,舉了電腦、USB硬盤和U盤的例子,感覺還是不太貼切,今天想了個自認為比較好
          理解的例子:
          有兩種變形金剛的玩具,
          一種是固定的,我把它比作原來那種控制權由應用代碼寫死的程序
          一種可以拆開重新裝配的,我把它比作用了依賴注入設計思想的程序
          變形金剛的各個部件就象程序的各個組件。
          變形金剛的廠家,相對它來說是內部的。就象程序的代碼
          變形金剛的玩家,相對它來說是外部的。就象程序的容器
          大家試想一下,固定變形金剛的控制權是不是廠家決定的,外部無能為力
          而可拆卸的變形金剛的控制權轉移到了外部的玩家,玩家在玩之前可以重新決定各個組件的連接關系
          而這種組件的連接圖是不是也很像依賴注入思想里的配置文件。
          大家再從這個例子分析一下依賴注入的目標。
          1)功能變化有限,你變形金剛設計的再好,可變換的東西也不過相似的幾種。
          2)真正的目的是提升組件重用的概率,帶來靈活性。
          引用地址 http://spaces.msn.com/pococoon/blog/cns!D25B6032F7AD1992!195.entry


          posted on 2006-03-23 13:46 阿成 閱讀(316) 評論(0)  編輯  收藏 所屬分類: Spring
          主站蜘蛛池模板: 会宁县| 南安市| 原平市| 隆昌县| 阿克陶县| 潍坊市| 土默特右旗| 昌乐县| 札达县| 玉环县| 万盛区| 和平区| 汤阴县| 融水| 蒙城县| 灌阳县| 雅江县| 郯城县| 隆子县| 酉阳| 高要市| 万源市| 会东县| 龙岩市| 五台县| 乐业县| 临清市| 温泉县| 类乌齐县| 信丰县| 汾西县| 乐陵市| 乐山市| 邳州市| 杂多县| 永吉县| 盈江县| 清苑县| 清丰县| 亚东县| 甘肃省|