按行为分类
设计模式按行为可分为三类 ,创建型、结构型、行为型。
这里以GoF总结出来的23种设计模式为准
创建型模式(5种)
顾名思义创建型模式就是用于创建对象时的模式,抽象化实例化的过程。关注的是对对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为调用者仅仅需要去使用对象,而不再需要关心创建对象过程中的逻辑。创建型模式包含以下五种模式。
- 单例模式【Singleton】php实例讲解
- 工厂模式【Factory】php实例讲解
- 抽象工厂模式【AbstractFactory】php实例讲解
- 建造者模式【Builder】php实例讲解
- 原型模式【Prototype】php实例讲解
结构设计模式(Structural Patterns)(7种)
为组装类以及类的交互方式提供的一种解决方案,从而实现一定的功能目的。减少不必要的类定义,减少代码的冗余。
在对象创建问题被解决后,开发人员应当关注对象的组成以及对象之间的依赖关系。更多考虑如何设计对象的结构、继承、依赖等关系。这些会直接影响到后续软件的可维护性,代码的健壮性,耦合性等。以下七种结构型设计模式可参考。
- 适配器模式【Adapter】php实例详解
- 桥接模式【Bridge】php实例详解
- 合成模式【Composite】php实例详解
- 装饰器模式【Decorator】php实例详解
- 门面模式【Facade】php实例详解
- 代理模式【Proxy】php实例详解
- 享元模式【Flyweight】php实例详解
行为模式(Behavioral Patterns)(11种)
用于方法实现以及对应算法的设计模式,同时也是最复杂的设计模式。行为设计模式不仅仅用于定义类的函数行为,同时也用于不同类之间的协议、通信。
- 策略模式【Strategy】php实例详解
- 模板方法模式【TemplateMethod】php实例详解
- 观察者模式【Observer】php实例详解
- 迭代器模式【Iterator】php实例详解
- 责任链模式【ResponsibilityChain】php实例详解
- 命令模式【Command】php实例详解
- 备忘录模式【Memento】php实例详解
- 状态模式【State】php实例详解
- 访问者模式【Visitor】php实例详解
- 中介者模式【Mediator】php实例详解
- 解释器模式【Interpreter】php实例详解
按照范围分为
类的设计模式
类的设计模式(Class patterns):用于类的具体实现的设计模式。包含了如何设计和定义类,以及父类和子类的设计模式。
对象设计模式
对象设计模式(Object patterns): 用于对象的设计模式。与类的设计模式不同,对象设计模式主要用于运行期对象的状态改变、动态行为变更等。
关注微信公众号(yuantanphp) | |
---|---|
回复关键字 设计模式 可获取以下材料 《设计模式:可复用面向对象软件的基础》pdf版. php设计模式23种实例实现php源码 | ![]() |