资讯专栏INFORMATION COLUMN

PHP 设计模式概述

IntMain / 970人阅读

摘要:创建型模式主要有以下五种简单工厂模式和工厂方法模式抽象工厂模式单例模式建造者模式原型模式在设计模式一书中将工厂模式分为两类工厂方法模式与抽象工厂模式。

一、 设计模式(Design pattern)是什么

设计模式是一套被反复使用、多数人知晓、经过分类编目的代码设计的经验总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

二、 为什么会有设计模式

在软件开发过程中,一个功能的实现方式多种多样,不同方法的可扩展性、可维护性以及复用性都是不一样的。随着一个人对自己项目代码的要求增加,他会逐渐思考和实践出自己的一套方法或者思想,这种方法或思想决定了他设计出的架构或者编写出的代码的质量优劣。设计模式就属于这样一种经验的积累,是由大量优秀的工程师或者架构师总结和提炼的精华,学习好设计模式等于让我们站在了巨人的肩膀上,从一个高的起点出发,可以避免走很多弯路。

三、 设计模式的分类

一般情况下,我们把设计模式分成了三大类:

创建型(Creational patterns)

创建型模式是为了解决创建对象时候遇到的问题。因为基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度,创建型设计模式有两个主导思想:一是将系统使用的具体类封装起来,二是隐藏这些具体类的实例创建和结合方式。

创建型模式主要有以下五种:

简单工厂模式(Simple Factory) 和 工厂方法模式(Factory method)

抽象工厂模式(Abstract factory)

单例模式(Singleton)

建造者模式(Builder)

原型模式(Prototype)

GOF在《设计模式》一书中将工厂模式分为两类:工厂方法模式(Factory Method)与抽象工厂模式(Abstract Factory)。将简单工厂模式(Simple Factory)看为工厂方法模式的一种特例,两者归为一类。

结构型模式(Structural pattern)

结构型模式是通过定义一个简单方法来实现和了解实体间关系,从而简化设计。

适配器模式(Adapter)

桥接模式(Bridge)

合成模式(Composite)

装饰者模式(Decorator)

表象模式(Facade)

享元模式(Flyweight)

代理模式(Proxy)

行为型模式(Behavioral pattern)

行为型模式是用来识别对象之间的常用交流模式并加以实现,使得交流变得更加灵活。

策略模式(Strategy)

模板方法模式(Template method)

观察者模式(Observer)

迭代器模式(Iterator)

责任链模式(Chain of responsibility)

命令模式(Command)

备忘录模式(Memento)

状态模式(State)

访问者模式(Visitor)

中介者模式(Mediator)

解释器模式(Interpreter)

四、 各个设计模式之间的关系 (这图可以对设计模式有一定了解后,再回头看会比较清晰)

参考 系列源地址

WilburXu/design_pattern

系列目录

PHP 设计模式概述

PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)

PHP设计模式(二)工厂方法模式(Factory Method)

PHP设计模式(三)抽象工厂模式(Abstract Factory)

[PHP设计模式(四)单例模式(Singleton)](

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/29496.html

相关文章

  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    galaxy_robot 评论0 收藏0
  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    Scorpion 评论0 收藏0
  • ThinkSNS Plus PHP开发概述

    摘要:读音,全称,是系列产品一个重要版本,其软件识别名称为即是一个基于框架进行开发的一个功能强大易于开发和强拓展的社交系统。另一方面,程序采用严格模式,从根本上尽量避免弱级错误的产生。哪怕你不会框架,也能让你入门框架基础,并胜任应用开发。 Plus (读音:[plʌs],全称:ThinkSNS+ [θɪŋk es en es plʌs],是 ThinkSNS 系列产品一个重要版本,其软...

    Taste 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<