1. 程式人生 > >多聚合,少繼承,低耦合,高內聚

多聚合,少繼承,低耦合,高內聚

方法 數量 自己 可重用性 行為 數據 代碼 面向對象 .com

面向對象的基本原則:多聚合,少繼承。低耦合,高內聚.
【高內聚、低耦合】

內聚:每個模塊盡可能獨立完成自己的功能,不依賴於模塊外部的代碼。

耦合:模塊與模塊之間接口的復雜程度,模塊之間聯系越復雜耦合度越高,牽一發而動全身。

目的:使得模塊的“可重用性”、“移植性”大大增強

通常程序結構中各模塊的內聚程度越高,模塊間的耦合程度就越低

模塊粒度:

  『函數』
      高內聚:盡可能類的每個成員方法只完成一件事(最大限度的聚合)低
      耦合:減少類內部,一個成員方法調用另一個成員方法

  『類』
       高內聚低耦合:減少類內部,對其他類的調用

  『功能塊』
       高內聚低耦合:減少模塊之間的交互復雜度(接口數量,參數數據)


  橫向:類與類之間、模塊與模塊之間
  縱向:層次之間

  盡可能,內容內聚,數據耦合

  詳細參考:http://apps.hi.baidu.com/share/detail/12189176
            http://www.iteye.com/topic/49082

【多聚合、少繼承】

聚合:事物A由若幹個事物B組成,體現在類與類之間的關系就是:“類B的實例”作為“類A”的“成員對象”出現。

繼承:顧名思義,體現在類與類之間的關系就是:“類B”被類A所繼承

顯然,當觀察類B所具有的行為能力時,“聚合”方式更加清晰。

典型應用:java適配器模式中,優選“對象適配器”,而不是“類適配器”

接口耦合度低於繼承。
http://apps.hi.baidu.com/share/detail/12189176

多聚合,少繼承,低耦合,高內聚