隨筆-126  評(píng)論-247  文章-5  trackbacks-0

          依賴倒轉(zhuǎn)原則Dependence Inversion Principle,簡(jiǎn)稱DIP)講的是:

              
          1)高層模塊不應(yīng)該依賴底層模塊,兩個(gè)都應(yīng)該依賴抽象。

              
          2)抽象不應(yīng)該依賴細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴抽象。

          依賴倒轉(zhuǎn)的另外一種表述是:
          要針對(duì)接口編程,不要針對(duì)實(shí)現(xiàn)編程。

          也就是說,應(yīng)該使用 java 接口或抽象 java 類進(jìn)行變量的類型聲明、參量的類型聲明、方法的返回類型聲明、以及數(shù)據(jù)類型的轉(zhuǎn)換等;

          不應(yīng)該使用具體的 java 類型進(jìn)行變量的類型聲明、參量的類型聲明、方法的返回類型聲明、以及數(shù)據(jù)類型的轉(zhuǎn)換等。

          在面對(duì)對(duì)象中,兩個(gè)類可能發(fā)生的幾種耦合(依賴)關(guān)系:

              1)零耦合     : 兩個(gè)類沒有發(fā)生耦合關(guān)系。

              2)具體耦合: 具體耦合關(guān)系發(fā)生在兩個(gè)具體的類之間,經(jīng)由一個(gè)類引用另一個(gè)類造成。

              3)抽象耦合: 抽象耦合發(fā)生在一個(gè)具體類和一個(gè)抽象之間或者 JAVA 接口之間,使兩個(gè)必須發(fā)生關(guān)系的類之間存在最大的靈活性。

          DIP(依賴倒轉(zhuǎn)原則)要求客戶端依賴抽象耦合。

          傳統(tǒng)的過程性系統(tǒng)的設(shè)計(jì)傾向于使高層次的模塊依賴于低層次的模塊,抽象層次依賴于具體層次。

          依賴倒轉(zhuǎn)原則就是要把這個(gè)錯(cuò)誤的依賴關(guān)系倒轉(zhuǎn)過來,這也就是“依賴倒轉(zhuǎn)原則”的來由。

          如下簡(jiǎn)單的示意圖所示:



            
          posted on 2012-08-04 16:18 fancydeepin 閱讀(639) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 清远市| 益阳市| 玛沁县| 英山县| 西乌珠穆沁旗| 耒阳市| 盐边县| 丰台区| 巴林右旗| 贵阳市| 陆良县| 攀枝花市| 哈密市| 正蓝旗| 建德市| 铁岭市| 阿城市| 襄城县| 长兴县| 恭城| 斗六市| 习水县| 安陆市| 萍乡市| 哈密市| 遂溪县| 淮北市| 绿春县| 磐安县| 遵义县| 井陉县| 宝山区| 凯里市| 河津市| 灌南县| 陆河县| 都匀市| 色达县| 夏河县| 武威市| 贺兰县|