高內聚、低耦合。多聚合、少繼承

面向對象原則:高內聚、低耦合。多聚合、少繼承
2015-05-28 18:13:00
  面向對象的基本原則:多聚合,少繼承。低耦合,高內聚.

一、高內聚、低耦合
1、概述:
內聚:每個模塊儘可能獨立完成自己的功能,不依賴於模塊外部的代碼。

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

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

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

2、模塊粒度:
1)函數

高內聚:儘可能類的每個成員方法只完成一件事(最大限度的聚合)

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

2)類

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

3)功能塊

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

橫向:類與類之間、模塊與模塊之間

縱向:層次之間

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

二、多聚合、少繼承
聚合:事物A由若干個事物B組成,體現在類與類之間的關係就是:「類B的實例」作為「類A」的「成員對象」出現。(不就是內部類嘛,意思就是多使用內部類,也不一定是內部類,可能該類的一個成員變量是另一個類的對象,少使用繼承extends)

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

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

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


原文網址:https://read01.com/GBe76m.html

猜你喜欢

转载自chokee.iteye.com/blog/2375456