設計模式 七大設計原則

2021-10-06 05:22:58 字數 1085 閱讀 4650

定義:應該有且只有乙個原因,引起類的變更

組合是一種強耦合關係,你我都有共同的生命週期,這種強耦合關係,不如直接使用介面實現

建議:介面一定要做到單一原則,類的設計盡量做到只有乙個原因引起變更

定義:所有使用父類的地方,必須能夠透明的使用其子類,反之不行

子類不能完整地實現父類的方法,或者父類的某些方法在子類中已經發生「畸變」,則建議斷開父子繼承關係,採用依賴、聚集、組合等關係代替繼承

定義 高層不依賴低層,兩者依賴其抽象

抽象不依賴於細節,細節依賴於抽象

核心:面向介面程式設計

最佳實踐

每個類都要有介面或抽象類,或倆這都有

變數的表面型別盡量使介面或抽象類

不應該從具體類派生

盡量不要重寫父類方法

定義 客戶端不應該依賴它不需要的介面

類間的依賴關係建立在最小介面上

約束 介面盡量小

介面要高內聚(高內聚:不管任何條件,必須完成任務)

定**務:只提供訪問者所需要的方法

介面設計有限度:粒度越小,越靈活,開發難度增加,可維護性降低

定義:乙個物件對另乙個物件有最少的了解

最少了解

只和朋友交流(朋友:成員變數、輸入引數、返回值)

朋友也是有距離的

盡量不要對外公布太多的public方法和非靜態的public變數

公開的越多,修改時涉及的面越大,變更引起的風險擴散越大

是自己的就是自己的:如果乙個方法放在本類中,既不增加類間關係,也對本類不產生負面影響,那就放置在本類中

謹慎使用 serializable

定義:對擴充套件開放,對修改關閉

具體實現

抽象約束

介面或抽象類約束:不允許出現介面或抽象類中不存在的 public 方法

引數型別、引用物件盡量使用介面或抽象類

抽象層保持穩定,一旦確定不允許修改

元資料控制行為(元資料:描述環境和資料的資料,配置引數可以從檔案也可以從資料庫中獲得)

制定專案章程:約定大於配置

封裝變化:將相同的變化封裝在乙個介面或抽象類

定義:盡量使用組合、聚合關係,少用繼承

設計模式 七大設計原則(二)

簡單介紹一下七大設計原則 開閉原則 是所有物件導向設計的核心,對擴充套件開放,對修改關閉 依賴倒置原則 針對介面程式設計,依賴於抽象而不依賴於具體 單一職責原則 乙個介面只負責一件事情,只能有乙個原因導致類變化 介面隔離原則 使用多個專門的介面,而不是使用乙個總介面 迪公尺特法則 最少知道原則 只和...

設計模式 七大設計原則(一)

簡單介紹一下七大設計原則 開閉原則 是所有物件導向設計的核心,對擴充套件開放,對修改關閉 依賴倒置原則 針對介面程式設計,依賴於抽象而不依賴於具體 單一職責原則 乙個介面只負責一件事情,只能有乙個原因導致類變化 介面隔離原則 使用多個專門的介面,而不是使用乙個總介面 迪公尺特法則 最少知道原則 只和...

七大設計原則

開閉原則 定義 乙個軟體實體如類 模組和函式應該對擴充套件開放 對修改關閉 用抽象構建框架,用實現擴充套件細節 優點 提高軟體系統的可復用性及可維護性 依賴倒置原則 定義 高層模組不應該依賴低層模組,二者都應該依賴其抽象 抽象不應該依賴細節,細節應該依賴抽象 針對介面程式設計,不要針對實現程式設計 ...