设计模式分类

2021-08-18 06:00 伪猿php

前言


设计模式按行为可分为三类 ,创建型、结构型、行为型。
这里以GoF总结出来的23种设计模式为准



创建型模式(5种)


顾名思义创建型模式就是用于创建对象时的模式,抽象化实例化的过程。关注的是对对象的创建,创建型模式将创建对象的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为调用者仅仅需要去使用对象,而不再需要关心创建对象过程中的逻辑。创建型模式包含以下五种模式。

单例模式【Singleton】
工厂模式【Factory】
抽象工厂模式【AbstractFactory】

建造者模式【Builder】
原型模式【Prototype】


结构设计模式(Structural Patterns)(7种)


为组装类以及类的交互方式提供的一种解决方案,从而实现一定的功能目的。减少不必要的类定义,减少代码的冗余。
在对象创建问题被解决后,开发人员应当关注对象的组成以及对象之间的依赖关系。更多考虑如何设计对象的结构、继承、依赖等关系。这些会直接影响到后续软件的可维护性,代码的健壮性,耦合性等。以下七种结构型设计模式可参考。


适配器模式【Adapter
桥接模式【Bridge
合成模式【Composite
装饰器模式【Decorator】
门面模式【Facade】

代理模式【Proxy】
享元模式【Flyweight】


行为模式(Behavioral Patterns)(11种)


用于方法实现以及对应算法的设计模式,同时也是最复杂的设计模式。行为设计模式不仅仅用于定义类的函数行为,同时也用于不同类之间的协议、通信。

策略模式【Strategy】
模板方法模式【TemplateMethod】
观察者模式【Observer】
迭代器模式【Iterator】
责任链模式【ResponsibilityChain】
命令模式【Command】
备忘录模式【Memento】
状态模式【State】
访问者模式【Visitor】
中介者模式【Mediator】
解释器模式【Interpreter】


按照范围分为


类的设计模式

类的设计模式(Class patterns):用于类的具体实现的设计模式。包含了如何设计和定义类,以及父类和子类的设计模式。

对象设计模式

对象设计模式(Object patterns): 用于对象的设计模式。与类的设计模式不同,对象设计模式主要用于运行期对象的状态改变、动态行为变更等。








文章都看完了图片不点个 图片 分享吗




- The End -



本文章转载自公众号:yuantanphp

首页 - php 相关的更多文章: