設計模式整理 設計模式總覽

2022-03-29 15:42:48 字數 2028 閱讀 1891

1、抽象工廠模式(abstract factory)提供乙個建立一系列相關或相互依賴物件的介面,而無需指定它們具體的類。當需要產生產品物件家族時使用此模式。

2、工廠方法模式(factory method)定義乙個用於建立物件的介面,讓子類決定將哪乙個類例項化,即將乙個類的例項延遲到其子類。延遲子類的例項化。

3、建立者模式(builder)見乙個負責物件的構建與他的表示分離,使得同樣的構建過程可以建立不同的表示。需要建立乙個組合物件時使用。

4、原型模式(protype)用原型例項指定出阿健物件的種類並且通過拷貝這個原型來建立新的物件。被例項化的類需要變化時使用此模式。

5、單件模式(singleton)保證乙個類只有乙個例項,並提供乙個訪問它的全域性訪問點。乙個物件全域性唯一例項時。

6、介面卡模式(adapter)將乙個類的介面轉換成客戶希望的另外乙個介面,使原來由於介面不相容而不能一起工作的那些類可以一起工作。物件的介面可變時,即提高物件的互動能力。

7、橋接模式(bridge)將抽象部分與它的實現部分分離,使他們都可以獨立的變化。物件的實現可變時。

8、組合模式(composite)將物件組合成樹形結構以表示「部分-整體」的層次結構,使客戶對單個物件和復合物件的使用具有抑制性。乙個物件的結構組織為可變時。

9、裝飾模式(decorator)動態地給乙個物件新增一些額外的職責。從而獲得比生成子類更靈活的擴充套件方方式。物件的職責可變,但不生成子類時。

10、門面模式(facade)為子系統中的一組介面提供乙個一致的介面,其定義了乙個高層介面,使得這一子系統更加容易使用。為子系統提供統一的介面時。

11、享元模式(flyweight)運用共享技術有效地特效支援大量的細粒度的物件。當考慮物件開銷時。

12、**模式(proxy)為其他物件提供乙個**以控制這個物件的訪問。當考慮要間接或訪問物件位置的時候,使用**模式。

13、直譯器模式(interpreter)給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,該直譯器是用該表示來解釋語言中的句子。乙個語言的文法及解釋為可變時。

14、模板方法模式(template method)定義乙個操作的演算法的骨架,而將一些步驟 延遲到子類中。使得子類可以改變乙個演算法的結構即可重定義改演算法的某些特定步驟。演算法中某些步驟可變時。

15、責任鏈模式(chain of responsebility)為解除請求的傳送者和棘手者之間耦合,而是多個物件都有機會處理這個請求,將這些獨享連成一條鏈,並沿著這條鏈傳遞改請求,直到有乙個物件處理它。需為所有可能的請求提供乙個響應。

16、命令模式(command)將乙個請求封裝為乙個物件,從而使你可用不同請求對客戶進行修改引數化,對請求排隊或記錄請求日誌,以及支援可取消的操作。當考慮何時,怎樣滿足乙個請求時。

17、矢帶模式(iterator)提供一種發發順序訪問乙個聚合物件中各個元素,而又不需暴露該物件的內部表示。考慮到如何遍歷,訪問乙個聚合的元素時使用。

18、中介者模式(mediator)用乙個中介物件來封裝一系列的物件互動,中介者使個物件不需要顯式地相互引用,從而使其耦合鬆散,而考研獨立地改變他們之間的互動。物件間不好直接交流或需要中間者交流時使用。

19、觀察者模式(observer)定義物件間的一種一對多的依賴關係,一便當乙個物件的狀態發生改變時,所有依賴於它的物件都得到通知並自動重新整理狀態。當多個物件一欄與另外乙個物件,而這些物件又要保持一致時使用。

20、狀態模式(state)允許乙個物件在其內部狀態改變時改變它的行為,物件看起來似乎修改了它所屬的類。當要保持物件狀態,或物件狀態可變時使用。

21、策略模式(strategy)定義一系列的演算法,把太慢乙個個封裝起來,並且使它們可相互替換,本模式使得演算法的可變變化可獨立於使用它的客戶。當需要定義一系列演算法時。

22、訪問者模式(visitor)表示乙個作用於某物件結構中的各元素的操作,它使你可用在不改 變各元素的類的前提下定義作用域這些元素的新操作。某些可作用於乙個(組)物件上的操作,但有不要修改這些類時。

23、備忘錄模式(menento)在不破壞封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態,這樣以後就可將該物件恢復到儲存的狀態。當乙個物件中的的私有資訊存放到物件向之外,且此資訊可變,以及儲存位置也可變時使用。

設計模式 總覽

首先需要了解一下軟體設計原則 1.單一職責原則 2.開閉原則 3.黎克特制代換原則 4.依賴倒轉原則 5.介面隔離原則 6.合成復用原則 7.迪公尺特原則 設計模式大致有23種,主要分為三類 結構型模式 建立型模式 行為型模式。結構型模式用於類或物件的組合,主要有 1.介面卡模式 2.橋接模式 3....

設計模式 總覽

總體來說設計模式分為三大類 1 建立型模式 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式。2 結構型模式 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式。3 行為型模式 策略模式 模板方法模式 觀察者模式 迭代子模式 責任鏈模式 命令模式 備忘錄模式 狀態模式 訪...

設計模式總覽

單例 singleton 工廠方法 factory method 抽象工廠 abstract factory 構造者 builder 原型模式 prototype 外觀 facade 介面卡 adapter 裝飾者 decorator 組合模式 composite 橋接模式 bridge 模式 pr...