close

1.DIP 原則定義

  • 1.高層次模組不應該依賴於低層次模組。
  • 2.抽象模組(interface,abstract class...)不應該依賴於細節(實作部分)。 
  • 3.細節(實作部分)應該要依賴於高層次模組。

 

2.一個違反 DIP 範例

假設Human class有吃東西的方法,Apple class有取得自己名稱的方法。

接著我們實作人吃頻果。

擷取  

我們可以看到上述萬一有一天人突然想吃起香蕉,但是問題是沒有辦法。

所以硬要吃香蕉話只能大幅度修改程式碼了,就算改好了下次想吃榴槤又要改...

 

3.修正符合DIP

擷取  

擷取  

重點:

1.People是高層次模組所以由較低層次之模組Human去實作,水果與頻果與香蕉模組有相同之含意,

   由低層次依賴高層次且高層次並不依賴於低層次模組,正是符合DIP之精神

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 melomelo1988 的頭像
    melomelo1988

    melo 唐

    melomelo1988 發表在 痞客邦 留言(0) 人氣()