1. 程式人生 > >面向物件原則:高內聚、低耦合。多聚合、少繼承

面向物件原則:高內聚、低耦合。多聚合、少繼承

面向物件的基本原則:多聚合,少繼承。低耦合,高內聚.
【高內聚、低耦合】
    內聚:每個模組儘可能獨立完成自己的功能,不依賴於模組外部的程式碼。

    耦合:模組與模組之間介面的複雜程度,模組之間聯絡越複雜耦合度越高,牽一髮而動全身。

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

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

    模組粒度:
      『函式』
           高內聚:儘可能類的每個成員方法只完成一件事(最大限度的聚合)

           低耦合:減少類內部,一個成員方法呼叫另一個成員方法

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


      『功能塊』
           高內聚低耦合:減少模組之間的互動複雜度(介面數量,引數資料)


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

      儘可能,內容內聚,資料耦合

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


【多聚合、少繼承】
    聚合:事物A由若干個事物B組成,體現在類與類之間的關係就是:“類B的例項”作為“類A”的“成員物件”出現。

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


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

    典型應用:java介面卡模式中,優選“物件介面卡”,而不是“類介面卡”