本系列文章尽量以通俗易懂的表述方式和尽可能详细的代码向您展示PHP设计模式的神秘。
1.PHP设计模式是什么?
想要熟练的使用PHP设计模式,我们就要先弄清楚,PHP设计模式到底是什么?
设计模式其实并不是PHP语言特有的,设计模式的思想可以应用在所有的面向对象编程语言和部分面向过程的编程语言上。更广义一些,设计模式可以覆盖于我们实践活动的方方面面。
设计模式其实来源于建筑学,众所周知,盖房子,我们只需要设计出一个屋子的布局,那么其他房子只需要复制这个房子的布局就行,这就是设计模式,还例如装修房子,我们的装修风格无非是地中海、欧式、古典等,无论是怎么组合,都能有现成的风格可以组合遵循,这也是设计模式。
通俗点的说设计模式就是让我们在实践过程中总结的解决方案的规律和经验,我们可以复制、组合,遵循其逻辑直接完成实践活动,对于编程来说,就是我们可以直接通过其逻辑完成我们需要的稳定的代码结构,使用设计模式的好处就在于,设计模式是经过大量实践验证的,能够提供给我们稳定、低成本、高效的编码。
知道了什么是设计模式,那么设计模式有哪些?该如何选择呢?
2.PHP设计模式有哪些?
我们可以根据设计模式的结构分成3种不同的类型:
A.创建性
创建型的设计模式主要是用来进行对象的实例化
- 原型模式(Prototype)
- 建造者模式(Builder)
- 多例模式(Multition)
- 单例模式(Singleton)
- 对象池模式(Pool)
- 抽象工厂模式(Abstract Factory)
- 工厂方法模式(Factory Method)
- 简单工厂模式(Simple Factory)
- 静态工厂模式(Static Factory)
B.结构型
结构型设计模式主要用于处理类和对象的组合
- 适配器模式(Adapter)
- 桥接模式(Bridge)
- 组合模式(Composite)
- 数据映射模式(Data Mapper)
- 装饰器模式(Decorator)
- 依赖注入模式(Dependency Injection)
- 外观模式(Facade)
- 流接口模式(Fluent Interface)
- 代理模式(Proxy)
- 注册模式(Registry)
C.行为型
行为型的设计模式主要是用来处理对象之间的通信
- 责任链模式(Chain Of Responsibility)
- 命令行模式(Command)
- 迭代器模式(Iterator)
- 中介者模式(Mediator)
- 备忘录模式(Memento)
- 空对象模式(Null Object)
- 观察者模式(Observer)
- 规格模式(Specification)
- 状态模式(State)
- 策略模式(Strategy)
- 模板方法模式(Template Method)
- 访问者模式(Visitor)
D.其它
- 委托模式(Delegation)
- 服务定位模式(Service Locator)
- 资源库模式(Repository)
3.总结
- 设计模式就是经验的总结,使用设计模式可以让我们的编码更加稳定、高效、低成本;
- 设计模式分为创建型、结构型、行为型,分别对应对象的三个阶段和层面,分别为:初始化阶段、对象与类的组合管理、对象使用时相互通信。