20、PHP设计模式 - 职责链模式
职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 模式结构 抽象处理者角色(Handler:Approver):定义一个处理请求的接...
职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 模式结构 抽象处理者角色(Handler:Approver):定义一个处理请求的接...
命令模式 命令模式(Command Pattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务...
公众号:“皇子谈技术”主理人
桥接模式 桥接模式(Bridge Pattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。 模式结构 桥接模式包含如下...
单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 模式特点 1、 一个类只能有一个实例; 2、 它必须自行创建这个实例; 3、 它必须自行向整个系统提供这个实例; 结构图 PHP代码实现 <?php /** * 懒汉式...
迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露其内部的表示。 模式结构 Iterator: 抽象迭代器:所有迭代器都需要实现的接口,提供了游走聚合对象元素之间的方法。 ConcreteIterator:具体迭代器:利用...
组合模式 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 “组合对象” 的含义。 模式结构 Comp...
备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。 模式结构 Originator(发起人):记录当前时刻的内部状态,负责定义哪些属于备份范围的状态,负责创建和恢...
适配器模式 适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。 模...
状态模式 状态模式(State Pattern) :允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象(Objects for States),状态模式是一种对象行为型模式。 模式结构 状态模式包含如下...
抽象工厂模式 抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。 模式结构 抽象工厂模式包含如下角色: A...