面向對象原則:高內聚、低耦合。多聚合、少繼承
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
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