PHP设计模式

1、常见设计模式

1.1 工厂模式

​ 用工厂方法或类来生成对象,而不是在代码中直接 new Class(),替换new Class() 这种写法
好处是如果生成对象的方式发生改变,比如构造参数改变,直接修改工厂方法就行了

​ 工厂方法针对每一种产品提供一个工厂类,通过不同的工厂实例来创建不同的产品实例,在同一等级结构中,支持增加任意产品。

1.2 单例模式

​ 保证一个类仅有一个实例,并且提供一个访问它的全局访问点,使某个类的对象只允许创建一个
比如数据库类,数据库的连接只需要连接一次

1.3 注册模式

​ 解决全局变量共享问题和交换对象 。可以理解成用一个类来存放全局变量

1.4 适配器模式

​ 可以将截然不同的函数接口封装成统一的 API
比如多种数据库的连接方法不同,通过这个模式封装成统一的 API

1.5 策略模式

​ 将一组特定的行为和算法封装成类,以适应某些特定的上下文环境

1.6 数据对象映射模式

​ 将对象和数据存储映射起来,对一个对象的操作会映射为对数据存储的操作
例子:ORM

1.7 观察者模式

​ 当一个对象状态发生改变时,依赖它的对象全不会收到通知,并自动更新
场景:一个事件发生后,要执行一连串的更新操作,传统的编程方式,就是在事件的代码之后直接加入处理逻辑当更新的逻辑增多之后,代码变得难以维护,这种方式是耦合的,侵入式的,增加新的逻辑需要修改事件的主体代码
观察者模式实现了低耦合、非侵入式的通知与更新机制

谢谢您请我喝咖啡!