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