設計模式 綜述

2021-07-15 19:27:35 字數 2029 閱讀 2880

設計模式是對被用來在特定場景下解決一般設計問題的類和相互通訊的物件的描述。設計模式使人們可以更加簡單方便地復用成功的設計和體系結構。將已正式的技術表達成設計模式會使新系統開發者更加容易理解其設計思路。

常用的設計模式有23

種,包括

5種建立型模式、

7種結構型模式、

11種行為模式。其中建立型模式包括抽象工廠、生成器、工廠方法、原型、單例模式;結構性模式包括,介面卡、橋接、組合、裝飾器、外觀、享元、**;行為模式包括,職責鏈、命令、直譯器、迭代器、中介者、備忘錄、觀察者、狀態、策略、模板方法、訪問者。

建立型模式

類建立型模式使用繼承改變被例項化的類,而物件建立型模式將例項化委託給另乙個物件。建立型模式將關於該系統使用那些具體的類資訊封裝起來,而且還隱藏了這些類的例項是如何被建立和放在一起的。

factory method在定義乙個新的操作時只需要建立新的方法,因此通常將它作為一種標準的建立物件方法。

abstract factory

這種工廠物件可以生產多個類的物件,

builder

可以讓這個物件使用乙個相對複雜的協議,逐步建立乙個複雜的產品,

prototype

可以通過拷貝原型物件來建立產品物件。

結構型模式

結構型設計模式設計如何組合類和物件以獲得最大的結構。結構型類模式通常採用繼承來組合介面或實現。如adapter

,對於adapter

模式來說,介面卡繼承乙個統一的介面,使得

adaptee

(被適配者)介面與其他介面相容,從而給出多個不同介面的統一抽象。

結構型物件模式不是對介面和實現的組合,而是描述了如何對一些物件進行組合,從而實現新功能的一些方法。composite

描述了如何構建乙個類層次式結構,這一結構由兩種型別的物件所對應的類構成(基元物件和組合物件)。

proxy

物件可以作為其他物件的乙個替代或者佔位符。

flyweight

模式為了共享物件定義了乙個結構從而可以使物件共享,而不是進行物件複製。

decorator

模式使用一種遞迴的方式組合物件,從而允許你新增任意多的物件職責。

從功能上來看,結構型設計模式主要關注於如何組合物件,如adapter

主要用於適配物件,

decorator

用於為物件新增乙個或多個功能,而

proxy

用於控制物件的訪問,

bridge

用於對抽象介面和它的實現部分進行橋接,

facade

為使用者提供統

一、簡潔的呼叫外觀、

composite

旨在構造類,使多個相關物件能夠以統一的方式處理,而多重物件可以被當做乙個物件來處理。

行為模式

行為模式涉及到演算法和物件間職責的分配。行為模式不僅描述物件或類的模式,還描述它們之間的通訊模式。行為類模式使用繼承機制在同類間分派行為。例如,模板方法是乙個演算法的抽象定義,它逐步的定義該演算法,每一步呼叫乙個抽象操作或乙個原語操作,子類定義抽象操作以具體實現該演算法。行為物件模式使用物件復合而不是繼承,一些行為物件模式描述了一組對等物件怎樣相互協作以完成其中任意乙個物件都無法單獨完成的任務。例如,責任鏈模式提供松耦合,它讓你通過一條候選物件鏈隱式的向乙個物件傳送請求。

其他行為模式常將行為封裝在乙個物件中,並將請求指派給它。strategy

模式將演算法封裝在物件中,這樣可以方便地指定和改變乙個物件所使用的演算法。

command

模式將請求封裝在物件中,這樣它就可作為引數傳遞,也可以被儲存在歷史列表中,或者以其他方式使用。

state

模式封裝乙個物件的狀態,使得當這個物件的狀態物件變化時,該物件可改變它的行為。

visitor

封裝分布於多個類之間的行為,而

iterator

則抽象了訪問和遍歷乙個集合中物件的方式。總的來說,行為模式是用來封裝程式中可能出現的變化的一類模式。

關於這個專案的**都已經上傳到了我的github上了:

設計模式綜述

設計模式的主要目的是應對變化,實現 的復用,就是當乙個軟體寫好了,發布了,但是要迭代更新,如何在不更改整體架構的情況下實現或擴充套件功能。設計模式總結了大部分問題的答案思路,並為每個答案命名,這樣每次遇到相同的問題都可以復用總結的答案。設計模式也是一種架構,是基於物件導向的類的架構,一般的系統架構是...

設計模式綜述

物件導向設計原則 設計原則名稱 定義描述 開閉原則 對擴充套件開放,對修改關閉 該原則是設計原則的總綱,抽象化是開閉原則的關鍵 單一職責原則 乙個類只負責乙個領域的相應職責 單一職責原則是實現高內聚低耦合的指導方針 介面隔離原則 使用多個單一功能的介面,而不使用乙個多功能介面 介面隔離也是實現高內聚...

java設計模式 綜述

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