-
面向对象和设计模式(二十五) 解耦操作和对象之访问者模式——PHP实现
发布时间:2023-10-29 15:27一、访问者模式的定义访问者模式是一种用来解耦操作和对象本身的设计模式,它将对象中复杂的操作从对象本身分离处理放到其他的访问者对象中,以满足类职责单一、开闭原则并应对代码复杂性。二、访问者模式的演变和使
-
面向对象和设计模式(二十四) 如何实现有限状态机之状态模式——PHP实现
发布时间:2023-06-06 14:03一、什么是有限状态机在介绍状态模式之前,需要介绍“有限状态机”的概念。通俗的来说,如果一个对象拥有不同且有限个数的状态,且在特定的情况下,这些状态可以相互切换,那么我们就可以说这个对象是一个有限状态机
-
面向对象和设计模式(二十三) 对象与数据的流水线处理之职责链模式——PHP实现
发布时间:2023-05-29 23:10一、职责链模式定义客户端发送一个请求,请求的接收者被串成一条链,这个请求在这条链上传递,直到链上的某个接收对象能够处理它为止(或者是链上的每一个接收者都会对这个请求作出属于它自己的处理)。一个请求先经
-
面向对象和设计模式(二十二) 代码中如何留下扩展点之模板模式和策略模式——PHP语言实现
发布时间:2023-05-20 10:19一、模板模式的定义模板模式在一个方法中定义一个算法骨架,并将某些步骤推迟到子类中实现。模板模式可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤。这里的“算法”,我们可以理解为广义上的“
-
面向对象和设计模式(二十一) 联动逻辑如何处理?观察者模式——PHP语言实现
发布时间:2023-05-16 23:05定义观察者模式又叫做发布订阅模式,观察者模式的定义如下:在对象之间定义一个一对多的关联,当一个对象状态改变的时候,所有下游关联的对象都会自动收到通知并做出相应改变。下游对象就是观察者,而上游对象就是被
-
面向对象和设计模式(二十) 节省内存的享元模式——PHP语言实现
发布时间:2023-05-03 11:11一、享元模式概念“享元”,顾名思义就是被共享的单元。享元模式的意图是复用对象节省内存,前提是享元对象是不可变对象。我们将对象的信息分为两个部分: 内部状态和外部状态。内部状态是对象内部共享的属性,不随
-
面向对象和设计模式(十九)支持树形结构的组合模式——PHP语言实现
发布时间:2023-05-03 10:47一、组合模式概念组合模式可以将一组对象组织成树形结构,以表示一种“部分 - 整体”的层次结构。因此,组合模式是一种用于树形结构数据的设计模式。组合模式跟之前讲的面向对象设计中的“组合关系(通过组合来组
-
面向对象和设计模式(十八)适配器模式——PHP语言实现
发布时间:2023-05-03 10:39一、适配器模式适配器模式是一种可以将不具有某些接口的类或者具有某些接口但需要对其功能做一些修饰和扩展的类转为具有目标接口或功能的类的一种设计模式。最常见的场景就是一个业务类A依赖具有B方法的对象。类C
-
面向对象和设计模式(十七)装饰器模式——PHP语言实现
发布时间:2023-02-24 20:17一、装饰器的使用场景 装饰器可以在不改变原始类(又称为被装饰类)的情况下,通过在装饰器类中添加扩展功能的方式来给原始类附加额外功能,并且通过自由组合多个装饰器可以为原始类定制化添加多个功能。
-
面向对象和设计模式(十六)桥接模式——PHP语言实现
发布时间:2023-02-11 10:39一、桥接模式概念 网上对桥接模式的解释有两种。 第一种理解方式是将抽象和实现解耦,让它们可以独立变化。 说具体一点就是将抽象和实现完全分开,“抽象&r