美文网首页
装饰者模式和组合模式对比

装饰者模式和组合模式对比

作者: 高思阳 | 来源:发表于2019-07-11 18:34 被阅读0次

装饰者模式可以用来透明地把对象包装在具有同样接口的另一个对象中。这样一来,你可以给一个方法加一些行为,然后将方法调用传递给原始对象。
相对于创建子类来说,使用装饰者对象是一种更灵活的选择。

装饰者模式和组合模式两者很像,那么这二者之间又有什么区别呢?
1、组合模式是一种结构型模式,用于把众多子对象组织为一个整体,及此程序员与大批对象打交道时可以将他们当作一个对象来对待,并将它们组织为层次性的树。通常它并不修改方法调用,
而只是将其沿组合对象与子对象的链向下传递,直到到达并落实在叶对象上。
2、装饰者模式也是一种结构型模式,但它并非用于组织对象,而是用于在不修改现有对象或从其派生子类的前提下为其增添职责。在一些较简单的例子中,装饰者模式会透明而不加修改地传递所有方法调用,
不过,创建装饰者模式的目的就在于对方法进行修改。
尽管简单的组合对象与简单的装饰者对象是相同的,但二者却有着不同的焦点。组合对象并不修改方法调用,其着眼在点于组织子对象。而装饰者模式存在的唯一目的就是修改方法调用而不是组织子对象,因为子对象只有一个。


https://blog.csdn.net/itpinpai/article/details/51567511

相关文章

  • 装饰者模式和组合模式对比

    装饰者模式可以用来透明地把对象包装在具有同样接口的另一个对象中。这样一来,你可以给一个方法加一些行为,然后将方法调...

  • 装饰者模式

    装饰者模式 装饰者模式和适配器模式对比 装饰者模式 是一种特别的适配器模式 装饰者与被装饰者都要实现同一个接口,主...

  • 设计模式之结构型模式(下)

    上篇已经介绍了适配器模式、桥接模式和组合模式,这篇将介绍装饰者模式、外观模式、享元模式和代理模式。 装饰者(Dec...

  • 装饰者模式--组合模式

    装饰者模式:动态的将新功能附加到对象上,具有扩展性。假设现在有一个咖啡店订咖啡的需求,咖啡有N种,同时咖啡还可以加...

  • 继承和组合的区别

    学习装饰者模式时遇到了组合的使用

  • 模式总览

    创建型模式 单例模式、工厂模式 、原型模式 结构型模式 适配器模式、装饰者模式、组合模式、享元模式、代理模式; ...

  • 设计模式分类汇总

    结构型 适配器模式 组合模式 桥接模式 代理模式 装饰者模式 门面模式 享元模式 行为型 责任链模式 命令模式 解...

  • 设计模式目录

    创建型模式 抽象工厂模式 工厂方法模式 单例模式 构建模式 原型模式 结构型模式 代理模式 装饰者模式 组合模式 ...

  • 设计模式 - 代理模式、委托模式

    前言 在开发中强调,少用继承,多用组合,在结构型模式中组合模式、装饰者模式、代理模式都能很好避免真实对象或者更好的...

  • 装饰者模式与组合模式

    装饰者模式与组合模式 参考教程:https://www.bilibili.com/video/BV1G4411c7...

网友评论

      本文标题:装饰者模式和组合模式对比

      本文链接:https://www.haomeiwen.com/subject/hdqjkctx.html