位置: 编程技术 - 正文
推荐整理分享学习php设计模式 php实现装饰器模式(decorator)(php常用设计模式(大总结)),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php设计模式及使用场景,php 设计模式,php设计模式六大原则,php23种设计模式,php 设计模式,php设计模式六大原则,php设计模式及使用场景,php设计模式六大原则,内容如对您有帮助,希望把文章链接给更多的朋友!
动态的给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活【GOF】装饰模式是以对客户透明的方式动态地给一个对象附加上更多的职责。这也就是说,客户端并不会觉得对象在装饰前和装饰后有什么不同。装饰模式可以在不使用创造更多子类的情况下,将对象的功能加以扩展。一、装饰模式结构图
二、装饰模式中主要角色抽象构件(Component)角色:定义一个对象接口,以规范准备接收附加职责的对象,从而可以给这些对象动态地添加职责。具体构件(Concrete Component)角色:定义一个将要接收附加职责的类。装饰(Decorator)角色:持有一个指向Component对象的指针,并定义一个与Component接口一致的接口。具体装饰(Concrete Decorator)角色:负责给构件对象增加附加的职责。三、装饰模式的优缺点装饰模式的优点:1、比静态继承更灵活;2、避免在层次结构高层的类有太多的特征装饰模式的缺点:1、使用装饰模式会产生比使用继承关系更多的对象。并且这些对象看上去都很想像,从而使得查错变得困难。四、装饰模式适用场景1、在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。2、处理那些可以撤消的职责,即需要动态的给一个对象添加功能并且这些功能是可以动态的撤消的。3、当不能彩生成子类的方法进行扩充时。一种情况是,可能有大量独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。五、装饰模式PHP示例
标签: php常用设计模式(大总结)
本文链接地址:https://www.jiuchutong.com/biancheng/281540.html 转载请保留说明!友情链接: 武汉网站建设