新聞中心
設計模式的概念最早是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四人所提出,被合稱為Gang of Four(GoF),他們在1994年出版了一本名為《Design Patterns: Elements of Reusable ObjectOriented Software》的書,首次系統(tǒng)地介紹了23種經典的設計模式,這些設計模式被分為三大類:創(chuàng)建型、結構型和行為型。

創(chuàng)新互聯(lián)建站服務項目包括宿城網站建設、宿城網站制作、宿城網頁制作以及宿城網絡營銷策劃等。多年來,我們專注于互聯(lián)網行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網行業(yè)的解決方案,宿城網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到宿城省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
創(chuàng)建型設計模式
創(chuàng)建型設計模式主要關注對象的創(chuàng)建過程,將對象的創(chuàng)建和使用分離,以提高系統(tǒng)的靈活性和可擴展性,以下是五種主要的創(chuàng)建型設計模式:
| 序號 | 設計模式名稱 | 描述 |
| 1 | 單例模式 | 確保一個類只有一個實例,并提供全局訪問點。 |
| 2 | 工廠方法模式 | 定義一個接口用于創(chuàng)建對象,但讓子類決定實例化哪一個類。 |
| 3 | 抽象工廠模式 | 提供一個接口用于創(chuàng)建一系列相關或相互依賴的對象,而無需指定它們具體的類。 |
| 4 | 建造者模式 | 將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。 |
| 5 | 原型模式 | 用原型實例指定創(chuàng)建對象的種類,并通過拷貝這些原型創(chuàng)建新的對象。 |
結構型設計模式
結構型設計模式主要處理類和對象的組合,以形成更大的結構,以下是七種主要的結構型設計模式:
| 序號 | 設計模式名稱 | 描述 |
| 6 | 適配器模式 | 將一個類的接口轉換成客戶希望的另一個接口。 |
| 7 | 橋接模式 | 將抽象部分與它的實現部分分離,使它們都可以獨立地變化。 |
| 8 | 組合模式 | 將對象組合成樹形結構以表現“部分整體”的層次結構。 |
| 9 | 裝飾器模式 | 動態(tài)地給一個對象添加一些額外的職責。 |
| 10 | 外觀模式 | 為子系統(tǒng)中的一組接口提供一個統(tǒng)一的高層接口。 |
| 11 | 享元模式 | 運用共享技術有效地支持大量細粒度的對象。 |
| 12 | 代理模式 | 為其他對象提供一種代理以控制對這個對象的訪問。 |
行為型設計模式
行為型設計模式主要關注對象之間的通信,包括對象的職責以及它們之間的交互,以下是十一種主要的行為型設計模式:
| 序號 | 設計模式名稱 | 描述 |
| 13 | 模板方法模式 | 定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。 |
| 14 | 觀察者模式 | 定義對象間的一種一對多的依賴關系,當一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并自動更新。 |
| 15 | 策略模式 | 定義一系列的算法,把它們一個個封裝起來,并且使它們可相互替換。 |
| 16 | 命令模式 | 將一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化。 |
| 17 | 職責鏈模式 | 為解除請求的發(fā)送者和接收者之間耦合,而使多個對象都有機會處理這個請求。 |
| 18 | 狀態(tài)模式 | 允許一個對象在其內部狀態(tài)改變時改變它的行為。 |
| 19 | 訪問者模式 | 表示一個作用于某對象結構中的各元素的操作。 |
| 20 | 中介者模式 | 用一個中介對象來封裝一系列的對象交互。 |
| 21 | 迭代器模式 | 提供一種方法順序訪問一個聚合對象中各個元素,而又不暴露該對象的內部表示。 |
| 22 | 解釋器模式 | 給定一個語言,定義它的文法的一種表示,并定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。 |
| 23 | 備忘錄模式 | 在不破壞封裝性的前提下,捕獲一個對象的內部狀態(tài),并在該對象之外保存這個狀態(tài)。 |
FAQs
Q1: 什么是設計模式?
A1: 設計模式是一種在軟件工程中可重復使用的解決特定問題的方案,它提供了一種經過優(yōu)化并可重用的設計經驗,設計模式通常用于解決在不同環(huán)境中反復出現的設計問題,它幫助開發(fā)者通過提供一個可被多次使用的設計模板來解決這些問題。
Q2: GoF的23種設計模式是否包含了所有可能的設計問題?
A2: GoF的23種設計模式是一套經典的設計模式集合,它們覆蓋了面向對象設計中常見的設計問題,這并不是一個絕對完整的集合,隨著軟件開發(fā)實踐的發(fā)展,可能會有新的設計模式被發(fā)現和創(chuàng)造出來,根據具體的應用場景和需求,某些設計模式可能需要進行調整或結合使用才能更好地解決問題。
當前文章:設計模式是誰提出的
分享路徑:http://www.5511xx.com/article/cogjhjo.html


咨詢
建站咨詢
