
设计模式
文章平均质量分 77
打八阿哥
让我研究一哈
展开
-
Prototype Pattern 原型模式 PHP
定义:是一种对象创建型模式,用原型实例制定创建对象的种类,通过复制原型创建新的对象。角色:Prototype抽象原型类是定义具有克隆自己的方法的接口,是所有具体原型类的公共父类。ConcretePrototype具体原型类实现具体的克隆方法,在克隆方法中返回一个自己的克隆对象。Client客户端让一个原型克隆自身,从而创建一个新的对象类图:...原创 2021-06-28 15:07:27 · 309 阅读 · 2 评论 -
observer pattern 观察者模式 php
定义:定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象都得到通知并被自动更新。角色:Subject抽象目标类在目标中定义一个观察者集合,可以存储任意数量的观察者对象,提供一个接口来增加和删除观察者对象,定义了通知类。ConcreteSubject具体目标类通常包含经常发生改变的数据,当它的状态发生改变时,向他的各个观察者发出通知。Observer观察者观察者对观察目标的改变做出反应。ConcreteObserver具体观察者其中维护一个指原创 2021-06-15 11:46:05 · 192 阅读 · 1 评论 -
singleton pattern 单例模式 php
定义:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,提供全局访问的方法。要点:1、某个类只能有一个实例。2、必须自行创建这个实例。3、必须向整个系统提供这个实例。角色:singleton单例角色类在单例类的内部只生成一个实例,同时提供一个静态的getinstance工厂方法,让客户可以使用它的唯一实例类图:代码:singletonclass Singleton{ // 创建静态私有的变量保持该类对象 private stat原创 2021-06-14 01:16:54 · 136 阅读 · 1 评论 -
Adapter Pattern 适配器模式 php
定义:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的类可以一起工作。可以为类结构型和对象型模式。角色:Target目标抽象类定义客户要用的特定领域的接口。Adapter适配器类适配器类可以调用另一个接口,作为一个转换器,对Adaptee和Target进行适配。在类适配器中,通过实现Target接口并继承Adaptee类来使二者产生联系;在对象适配器中,通过继承Target并关联一个Adaptee对象使二者产生联系。Adaptee适配者类被适配的角色,定义了一个原创 2021-06-06 23:14:21 · 167 阅读 · 2 评论 -
bridge pattern 桥接模式 php
定义:将抽象部分与实现部分分离,使它们都可以独立地变化。是一种对象结构型模式。角色:Abstraction抽象类RefinedAbstraction扩充抽象类Implement实现类接口ConcreteImplementor具体实现类Abstraction// 抽象角色,给出定义,并保存一个对实现化对象的引用abstract class Abstraction{ protected $concreteImp; public function operati原创 2021-06-03 23:39:33 · 259 阅读 · 3 评论 -
command pattern 命令模式 php
定义:将一个请求封装为一个对象,使我们可以用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。角色:Command抽象命令类ConcreteCommand具体命令类Invoker调用者Recevier接收者Client客户类上代码:Invokerclass Invoker{ private $concreteCommand; public function __construct(Command $concreteCo原创 2021-06-01 17:06:11 · 206 阅读 · 2 评论 -
Decorator Pattern 装饰者模式 PHP
在不改变一个对象本身的基础上以对客户透明的方式给对象动态增加额外的新行为。角色:Component抽象构件定义对象的接口,可以给这些对象动态增加职责ConcreteComponent具体构件定义了具体的构件对象,实现了在抽象构件中声明的方法Decorator抽象装饰类是抽象构件类的子类,用于给具体构件增加职责,但具体职责在其子类中实现ConcreteDecorator具体装饰类是抽象装饰类的资料,负责向构件添加新的职责,每个具体装饰类都定义了一些新的行为。上代码:原创 2021-05-31 20:58:15 · 308 阅读 · 3 评论 -
Proxy Pattern 代理模式 php
洗心革面,学习设计模式!!定义:给某一个对象提供一个代理,并由代理对象控制对原对象的引用。角色:subject抽象主题角色proxy代理主题角色Realsubject真实主题角色类图:上代码:Subject抽象主题角色interface Subject{ public function request();}Proxy代理主题角色require_once "Subject.php";require_once "RealSubject.php";原创 2021-05-27 20:09:50 · 174 阅读 · 1 评论