PHP 23种设计模式实践

2021-03-16  本文已影响0人  噫那里有条咸鱼

做了几年开发,最近结合设计模式对曾经开发的项目进行了一下复盘,发现了很多可以从设计层面进行改进的地方,以及修正了对设计模式本身的理解偏差,故进行了这次手撸设计模式的实践。


github仓库完整代码示例:https://github.com/catwrench/PhpPatterns



创建型模式实例

结构型模式实例

行为型模式实例


创建型模式实例

创建型模式用来处理对象的创建过程。对类的实例化过程进行了抽象,将对象的创建和使用分离。
在使用这些对象时只需要知道接口,而不用关心细节

结构型模式实例

结构型模式用来处理类或者对象的组合。把类或对象通过各种方式进行组合,形成一个更大的结构,以完成更为复杂的任务

行为型模式实例

行为型模式用来处理类或对象的交互关系。用于描述类或对象之间怎样相互协作共同完成单个对象无法胜任的任务,
以及怎样分配职责类和对象如何交互,及划分责任和算法,这些设计模式特别关注对象之间的通信。


SOLID原则

单一责任原则:一个类只做一件事儿,多的进行拆分交给其他类

开放封闭原则:对扩展开放,对修改封闭。 实例的内部不可修改,但可以通过继承等方式增加新功能

依赖倒置原则:对接口编程,依赖于抽象而不依赖于具体。公共部分抽离为接口、抽象类,大家再去实现这个接口,而不是互相依赖。

接口隔离原则:使用多个接口,而不是对一个接口编程,去依赖降低耦合

里氏替换原则:超类(父类)出现的地方,派生类(子类)都可以出现。父类能做的子类也能做,反之不一定

上一篇 下一篇

猜你喜欢

热点阅读