跳到主要内容
原创 PHP 设计模式 教程

24、PHP设计模式 - 访问者模式

访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。模式结构抽象访问者角色(Visitor):为该对象结构(ObjectStructure)中的每一个具体元素提供一个访问操作接口。该操作接口的名字和参数标识了要访问的具体元素角色。
阅读全文
原创 PHP 设计模式 教程

23、PHP设计模式 - 解释器模式

解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。模式结构AbstractExpression:抽象表达式。声明一个抽象的解释操作,该接口为抽象语法树中所有的节点共享。TerminalExpression:终结符表达式。实现与文法中的终
阅读全文
原创 PHP 设计模式 教程

22、PHP设计模式 - 享元模式

享元模式享元模式(FlyweightPattern):运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,它是一种对象结构型模式。模式结构享元模式包
阅读全文
原创 PHP 设计模式 教程

21、PHP设计模式 - 中介者模式

中介者模式中介者模式(MediatorPattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。模式结构中介者模式包含如下角色:Mediator:
阅读全文
原创 PHP 设计模式 教程

20、PHP设计模式 - 职责链模式

职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。模式结构抽象处理者角色(Handler:Approver):定义一个处理请求的接口,和一个后继连接(可选)具体处理者角色(Concrete
阅读全文
原创 PHP 设计模式 教程

19、PHP设计模式 - 命令模式

命令模式命令模式(CommandPattern):将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作(Action)模式或事务(Transaction)模式。模式结构命令模式包含如下
阅读全文
原创 PHP 设计模式 教程

18、PHP设计模式 - 桥接模式

桥接模式桥接模式(BridgePattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(HandleandBody)模式或接口(Interface)模式。模式结构桥接模式包含如下角色:Abstraction:抽象类RefinedAbs
阅读全文
原创 PHP 设计模式 教程

16、PHP设计模式 - 迭代器模式

迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而不是暴露其内部的表示。模式结构Iterator:抽象迭代器:所有迭代器都需要实现的接口,提供了游走聚合对象元素之间的方法。ConcreteIterator:具体迭代器:利用这个具体的迭代器能够对具体的聚合对象进行遍历。每一个聚合对象
阅读全文
原创 PHP 设计模式 教程

15、PHP设计模式 - 组合模式

组合模式组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚“部分/整体”还有”单个对象“与“组合对象”的含义。模式结构Component:组合中的对象声明接口,在适当的情况下,实现所有
阅读全文