隨筆 - 59, 文章 - 4, 評論 - 184, 引用 - 7
          數(shù)據(jù)加載中……

          CallBack-DI-Template區(qū)別

          本文目的是為了說明CallBack并非完全的IoC實現(xiàn)
          這三個名詞能在一起,是因為IoC的特性
          在UI框架中尤其明顯的體現(xiàn)
          但CallBack只獲得了部分控制權(quán)的反轉(zhuǎn)

          實際上callback這種方式是一種過程化方法學中的實現(xiàn)
          而在面向?qū)ο箢I(lǐng)域中的替代物則是DI或模板方法模式
          (IoC的具體表現(xiàn))
          DI和模板方法模式的區(qū)別在于
          DI用于解除創(chuàng)建依賴
          模板方法用于解除行為依賴

          回到callback和IoC
          從它們出現(xiàn)的理由上來看,目的是為了消除耦合
          但它們確實都是對流程的控制
          在過程化callback它的控制流將沿著調(diào)用的方向不斷延伸,而不在乎是否會返回
          但面向?qū)ο蟮姆椒ㄖ校Φ姆较蚴菍ο?消息的程序結(jié)構(gòu)
          (所以在OO中我們不說:調(diào)用某個對象,而說:象某個對象發(fā)送消息)
          所以,
          IoC是期待回應(yīng)的,然后繼續(xù) ‘注入組件’ 的流程
          而傳入callback是不期待回應(yīng)的,它只是告訴 ‘被注入組件’ 下一步的方向,而沒有說一定要回調(diào) ‘注入組件’ 或接口,它可以繼續(xù)將控制流程傳遞下去,到底程序在什么地方退出,'注入組件' 有可能不知道,所以說它只獲得了部分的控制權(quán)

          posted on 2005-07-16 00:18 fisher 閱讀(681) 評論(0)  編輯  收藏 所屬分類: Programing

          主站蜘蛛池模板: 汉寿县| 常德市| 临泉县| 乌兰县| 吴江市| 响水县| 武胜县| 宁国市| 腾冲县| 辽宁省| 岳阳市| 新闻| 高州市| 桂阳县| 班玛县| 海原县| 盐源县| 盐津县| 孝感市| 独山县| 定陶县| 宁明县| 涟源市| 通辽市| 青海省| 修武县| 进贤县| 麦盖提县| 什邡市| 凌云县| 佛教| 罗田县| 高雄县| 阳谷县| 高安市| 公安县| 平武县| 万盛区| 康保县| 临西县| 诏安县|