摘要:創(chuàng)建型模式主要有以下五種簡(jiǎn)單工廠模式和工廠方法模式抽象工廠模式單例模式建造者模式原型模式在設(shè)計(jì)模式一書(shū)中將工廠模式分為兩類(lèi)工廠方法模式與抽象工廠模式。
一、 設(shè)計(jì)模式(Design pattern)是什么
設(shè)計(jì)模式是一套被反復(fù)使用、多數(shù)人知曉、經(jīng)過(guò)分類(lèi)編目的代碼設(shè)計(jì)的經(jīng)驗(yàn)總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。
二、 為什么會(huì)有設(shè)計(jì)模式在軟件開(kāi)發(fā)過(guò)程中,一個(gè)功能的實(shí)現(xiàn)方式多種多樣,不同方法的可擴(kuò)展性、可維護(hù)性以及復(fù)用性都是不一樣的。隨著一個(gè)人對(duì)自己項(xiàng)目代碼的要求增加,他會(huì)逐漸思考和實(shí)踐出自己的一套方法或者思想,這種方法或思想決定了他設(shè)計(jì)出的架構(gòu)或者編寫(xiě)出的代碼的質(zhì)量?jī)?yōu)劣。設(shè)計(jì)模式就屬于這樣一種經(jīng)驗(yàn)的積累,是由大量?jī)?yōu)秀的工程師或者架構(gòu)師總結(jié)和提煉的精華,學(xué)習(xí)好設(shè)計(jì)模式等于讓我們站在了巨人的肩膀上,從一個(gè)高的起點(diǎn)出發(fā),可以避免走很多彎路。
三、 設(shè)計(jì)模式的分類(lèi)一般情況下,我們把設(shè)計(jì)模式分成了三大類(lèi):
創(chuàng)建型(Creational patterns)創(chuàng)建型模式是為了解決創(chuàng)建對(duì)象時(shí)候遇到的問(wèn)題。因?yàn)榛镜膶?duì)象創(chuàng)建方式可能會(huì)導(dǎo)致設(shè)計(jì)上的問(wèn)題,或增加設(shè)計(jì)的復(fù)雜度,創(chuàng)建型設(shè)計(jì)模式有兩個(gè)主導(dǎo)思想:一是將系統(tǒng)使用的具體類(lèi)封裝起來(lái),二是隱藏這些具體類(lèi)的實(shí)例創(chuàng)建和結(jié)合方式。
創(chuàng)建型模式主要有以下五種:簡(jiǎn)單工廠模式(Simple Factory) 和 工廠方法模式(Factory method)
抽象工廠模式(Abstract factory)
單例模式(Singleton)
建造者模式(Builder)
原型模式(Prototype)
GOF在《設(shè)計(jì)模式》一書(shū)中將工廠模式分為兩類(lèi):工廠方法模式(Factory Method)與抽象工廠模式(Abstract Factory)。將簡(jiǎn)單工廠模式(Simple Factory)看為工廠方法模式的一種特例,兩者歸為一類(lèi)。
結(jié)構(gòu)型模式(Structural pattern)結(jié)構(gòu)型模式是通過(guò)定義一個(gè)簡(jiǎn)單方法來(lái)實(shí)現(xiàn)和了解實(shí)體間關(guān)系,從而簡(jiǎn)化設(shè)計(jì)。
適配器模式(Adapter)
橋接模式(Bridge)
合成模式(Composite)
裝飾者模式(Decorator)
表象模式(Facade)
享元模式(Flyweight)
代理模式(Proxy)
行為型模式(Behavioral pattern)行為型模式是用來(lái)識(shí)別對(duì)象之間的常用交流模式并加以實(shí)現(xiàn),使得交流變得更加靈活。
策略模式(Strategy)
模板方法模式(Template method)
觀察者模式(Observer)
迭代器模式(Iterator)
責(zé)任鏈模式(Chain of responsibility)
命令模式(Command)
備忘錄模式(Memento)
狀態(tài)模式(State)
訪問(wèn)者模式(Visitor)
中介者模式(Mediator)
解釋器模式(Interpreter)
四、 各個(gè)設(shè)計(jì)模式之間的關(guān)系 (這圖可以對(duì)設(shè)計(jì)模式有一定了解后,再回頭看會(huì)比較清晰) 參考 系列源地址WilburXu/design_pattern
系列目錄PHP 設(shè)計(jì)模式概述
PHP設(shè)計(jì)模式(一)簡(jiǎn)單工廠模式 (Simple Factory For PHP)
PHP設(shè)計(jì)模式(二)工廠方法模式(Factory Method)
PHP設(shè)計(jì)模式(三)抽象工廠模式(Abstract Factory)
[PHP設(shè)計(jì)模式(四)單例模式(Singleton)](
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/29496.html
摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開(kāi)發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開(kāi)發(fā)學(xué)習(xí)路線很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開(kāi)發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程...
摘要:前言這里筑夢(mèng)師是一名正在努力學(xué)習(xí)的開(kāi)發(fā)工程師目前致力于全棧方向的學(xué)習(xí)希望可以和大家一起交流技術(shù)共同進(jìn)步用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程個(gè)人學(xué)習(xí)方法分享本文目錄更新說(shuō)明目錄學(xué)習(xí)方法學(xué)習(xí)態(tài)度全棧開(kāi)發(fā)學(xué)習(xí)路線很長(zhǎng)知識(shí)拓展很長(zhǎng)在這里收取很多人的建議以后決 前言 這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開(kāi)發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程...
摘要:讀音,全稱(chēng),是系列產(chǎn)品一個(gè)重要版本,其軟件識(shí)別名稱(chēng)為即是一個(gè)基于框架進(jìn)行開(kāi)發(fā)的一個(gè)功能強(qiáng)大易于開(kāi)發(fā)和強(qiáng)拓展的社交系統(tǒng)。另一方面,程序采用嚴(yán)格模式,從根本上盡量避免弱級(jí)錯(cuò)誤的產(chǎn)生。哪怕你不會(huì)框架,也能讓你入門(mén)框架基礎(chǔ),并勝任應(yīng)用開(kāi)發(fā)。 Plus (讀音:[pl?s],全稱(chēng):ThinkSNS+ [θ??k es en es pl?s],是 ThinkSNS 系列產(chǎn)品一個(gè)重要版本,其軟...
閱讀 1904·2021-09-28 09:43
閱讀 1204·2021-09-23 11:22
閱讀 2819·2021-09-14 18:05
閱讀 1884·2019-08-30 15:52
閱讀 2885·2019-08-30 10:55
閱讀 2100·2019-08-29 16:58
閱讀 1458·2019-08-29 16:37
閱讀 3109·2019-08-29 16:25