PHP设计模式之注册树模式

今天和大家介绍下一种结构型设计模式——注册树模式,别名注册器模式或注册模式,它是用来保存程序中经常使用的对象的实例。注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘。但和现实中的采摘不同的是,从对象树上摘下来的果子依旧存在对象树上,下次还可以继续摘。

PHP设计模式之代理模式

代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。

PHP设计模式之对象池模式

对象池模式是一种提前准备了一组已经初始化了的对象『池』而不是按需创建或者销毁的创建型设计模式。对象池的客户端会向对象池中请求一个对象,然后使用这个返回的对象执行相关操作。当客户端使用完毕,它将把这个特定类型的工厂对象返回给对象池,而不是销毁掉这个对象。

PHP设计模式之状态模式

状态模式一般用于实现状态机,有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型,被广泛用于建模应用行为、硬件电路系统设计、软件工程,编译器、网络协议、和计算与语言的研究。

PHP设计模式之组合模式

组合模式,将一组对象组织成树形结构,将单个对象和组合对象都看做树中的节点,以统一处理逻辑,并且它利用树形结构的特点,递归地处理每个子树,依次简化代码实现。使用组合模式的前提在于,你的业务场景必须能够表示成树形结构。所以,组合模式的应用场景也比较局限,它并不是一种很常用的设计模式。

PHP设计模式之迭代器模式

让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的对象元素。PHP 标准库 (SPL) 定义了一个最适合此模式的接口迭代器!往往也需要实现 Countable 接口,允许在迭代器对象上使用 count($object) 方法。