包的設計原則(2)

包的設計原則:
2.穩定性:包的耦合性原則
(1) 無環依賴原則
??? 很好理解,包的依賴關係中不能出現環,否則等着看好戲吧(例如晨後綜合症)
??? 怎麼解除依賴環呢?很簡單!使用DIP(依賴倒置)原則
(2) 穩定依賴原則
??? 什麼是穩定性?穩定性和更改所需要的工作量相關,例如豎立的硬幣是不穩定的,
??? 但是桌子是穩定的。若有很多包依賴於包X,那麼X就是穩定的
??? 穩定性度量:I=Ce/(Ca+Ce) Ca是輸入耦合度,Ce是輸出耦合度
??? 一個包的I值應該大於它所依賴的包的I值,即I值應該順着依賴的方向減少
??? 在一個軟件系統中,有些部分不經常改變,它代表着系統的高層架構和設計策略,應該
??? 把這些部分放到最穩定的包中
(3) 穩定抽象原則
??? 包的抽象度應該與穩定度一致

不能自頂向下設計包的結構,包結構是隨着系統的增長,變化而逐步演化的,包之間的關係
和應用程序的功能幾乎沒有關係,他們是應用程序可構建性的映射圖(第一次聽到這種說法
不是很理解)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章