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

          CallBack-DI-Template區別

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

          實際上callback這種方式是一種過程化方法學中的實現
          而在面向對象領域中的替代物則是DI或模板方法模式
          (IoC的具體表現)
          DI和模板方法模式的區別在于
          DI用于解除創建依賴
          模板方法用于解除行為依賴

          回到callback和IoC
          從它們出現的理由上來看,目的是為了消除耦合
          但它們確實都是對流程的控制
          在過程化callback它的控制流將沿著調用的方向不斷延伸,而不在乎是否會返回
          但面向對象的方法中,努力的方向是對象+消息的程序結構
          (所以在OO中我們不說:調用某個對象,而說:象某個對象發送消息)
          所以,
          IoC是期待回應的,然后繼續 ‘注入組件’ 的流程
          而傳入callback是不期待回應的,它只是告訴 ‘被注入組件’ 下一步的方向,而沒有說一定要回調 ‘注入組件’ 或接口,它可以繼續將控制流程傳遞下去,到底程序在什么地方退出,'注入組件' 有可能不知道,所以說它只獲得了部分的控制權

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

          主站蜘蛛池模板: 曲阜市| 密云县| 英德市| 仁怀市| 泽州县| 德保县| 柳州市| 靖边县| 元谋县| 伊吾县| 马边| 布拖县| 柳州市| 山东省| 沾化县| 大同县| 秭归县| 呼伦贝尔市| 义马市| 嘉兴市| 区。| 确山县| 英吉沙县| 伊川县| 昆明市| 黄陵县| 卢湾区| 沙坪坝区| 宁夏| 东至县| 中宁县| 台湾省| 白山市| 无锡市| 缙云县| 门头沟区| 桃园县| 尉犁县| 措勤县| 望城县| 钟祥市|