6大設計原則 23種設計模式

2022-09-21 20:48:14 字數 1567 閱讀 2050

乙個類只負責一項職責,應該僅有乙個引起它變化的原因。

優點:子類可以擴充套件父類的功能,但不能改變父類原有的功能。即任何基類可以出現的地方,子類一定可以出現,並且當用子類替換了基類後程式不受影響。

含義:要求對抽象進行程式設計,不要對實現進行程式設計。

實際程式設計中需要做到:

建立單一介面,不要建立龐大臃腫的介面,盡量細化介面,介面中的方法盡量少。

注意:乙個物件應該對其他物件保持最少的了解。迪公尺特法則其根本思想,是強調了類之間的松耦合。

乙個軟體實體如類、模組和函式應該對擴充套件開放,對修改關閉。

簡單工廠:乙個工廠類根據傳入的參量決定建立出那一種產品類的例項。

工廠方法:定義乙個建立物件的介面,讓子類決定例項化那個類。

建造者模式:封裝乙個複雜物件的構建過程,並可以按步驟構造。

原型模式:通過複製現有的例項來建立新的例項。

介面卡模式:將乙個類的方法介面轉換成客戶希望的另外乙個介面。

組合模式:將物件組合成樹形結構以表示「」部分-整體「」的層次結構。

裝飾模式:動態的給物件新增新的功能。

**模式:為其他物件提供乙個**以便控制這個物件的訪問。

亨元(蠅量)模式:通過共享技術來有效的支援大量細粒度的物件。

外觀模式:對外提供乙個統一的方法,來訪問子系統中的一群介面。

橋接模式:將抽象部分和它的實現部分分離,使它們都可以獨立的變化。

模板模式:定義乙個演算法結構,而將一些步驟延遲到子類實現。

直譯器模式:給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器。

策略模式:定義一系列演算法,把他們封裝起來,並且使它們可以相互替換。

狀態模式:允許乙個物件在其物件內部狀態改變時改變它的行為。

觀察者模式:物件間的一對多的依賴關係。

備忘錄模式:在不破壞封裝的前提下,保持物件的內部狀態。

中介者模式:用乙個中介物件來封裝一系列的物件互動。

命令模式:將命令請求封裝為乙個物件,使得可以用不同的請求來進行引數化。

訪問者模式:在不改變資料結構的前提下,增加作用於一組物件元素的新功能。

責任鏈模式:將請求的傳送者和接收者解耦,使的多個物件都有處理這個請求的機會。

迭代器模式:一種遍歷訪問聚合物件中各個元素的方法,不暴露該物件的內部結構。

6大設計原則與23種設計模式

開閉原則 open close principle 黎克特制替換原則 liskov substitution principle 依賴倒置原則 dependence inversion principle 介面隔離原則 inte cesegregation principle 迪公尺特原則 law ...

6大設計原則和23種設計模式系列例項

物件導向的乙個偉大的應用例子是活字印刷術。一篇文章印錯了字,只需改錯的字,而無需重新刻模板,就是可維護。印錯的那個字的模組還可以用來印其他文章,就是可復用。文章加字只需另刻字加入,就是可擴充套件。活字可以橫著排打印刷文章,也可豎著 斜著排打印刷文章,就是靈活性好。物件導向有三大特性,封裝 繼承和多型...

六大設計原則 23種設計模式

23 種設計模式詳解 全23種 23種設計模式全解析 參考 單一職責原則 乙個類只允許有乙個職責,即只有乙個導致該類變更的原因 黎克特制替換原則 所有引用基類的地方必須能透明地使用其子類的物件,也就是說子類物件可以替換其父類物件,而程式執行效果不變 依賴倒置原則 依賴抽象而不是依賴實現。抽象不應該依...