隨筆-126  評論-247  文章-5  trackbacks-0

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

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

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

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

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

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

          在面對對象中,兩個(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)原則”的來由。

          如下簡單的示意圖所示:



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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 福贡县| 沙雅县| 淮滨县| 甘南县| 灌阳县| 盘锦市| 景洪市| 海阳市| 孝昌县| 县级市| 肇东市| 上蔡县| 桃江县| 平塘县| 井研县| 神农架林区| 靖边县| 若尔盖县| 武功县| 澄迈县| 土默特左旗| 淮安市| 温泉县| 泸水县| 遂昌县| 墨竹工卡县| 栖霞市| 宣武区| 奉节县| 柳林县| 淳化县| 富川| 焦作市| 泸西县| 高尔夫| 伊金霍洛旗| 祁阳县| 远安县| 新兴县| 定边县| 米脂县|