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