background image

PHP

入门 PHP 设计模式之结构模式

本篇文章是对 PHP 设计模式中的结构模式进行了详细的分析介绍,需要的朋友参考

结构模式之间有许多相似之处,因为在对象模型结构中存在几种关系:类之间的继承和
实现,加上对象组合,这些是 PHP 设计模式的主要目的。
对象组合的最大优势在于可以在运行时基于配置建立起一个关系,并不用修改实际的代
码,它是类继承和接口实现需要的一个操作。实际上,你完全可以通过修改对象之间而非
类之间的链接定义一个应用程序的功能,这是设计的一部分。

结构模式清单
适配器-桥接-外观(Adapter-Bridge-Facade)

这三个模式的目标是竞争耦合:

适配器模式(Adapter)使用不同的接口连接对象;

桥接模式(Bridge)将一个 M 抽象层和一个 N 实现层分离成 N+M 类,代替 M*N 用法;

外观模式(Facade)创建一个新的统一的界面来访问子系统。

复合-装饰-代理(Composite-Decorator-Proxy)

这三个模式维护相同的对象接口,它们透明地添加正交关注,客户端不会察觉:

复合模式为其它对象增加容器组织层次结构,并将树作为其它树的叶子进行重用;

装饰模式通过拦截方法授权添加行为,避免引入大量的子类;

代理模式给一个还不存在或很难访问的对象授权操作。

最后,享元模式(Flyweight)是一个无身份的 ValueObjects 标准实现。