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

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


咨詢
建站咨詢
