首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >装饰器模式中的重复属性

装饰器模式中的重复属性
EN

Stack Overflow用户
提问于 2014-08-22 17:31:11
回答 1查看 517关注 0票数 1

我打算使用装饰器模式,我想知道属性复制...我的意思是,如果基类(被装饰的那个)有很多状态(属性、属性或其他),当你使用装饰器模式时,你总是会得到那个状态的两个副本,对吧?(装饰类中的那个和装饰类中的那个)总是这样吗?

Here问了一个类似的问题,但回答并没有让我更清楚。

同样在"Head First: Design pattern“一书中,他们没有提到这种模式的缺点。

干杯!!

EN

回答 1

Stack Overflow用户

发布于 2014-08-22 17:47:20

对我来说,装饰器不需要存储状态,例如:如果类A有一个方法getTotal(),那么DecoratorA::getTotal()可能会返回2*A::getTotal()

装饰器可以根据它装饰的对象延迟返回数据。它可能有一些属性(就像我示例中的2 ),但它基本上是经过一些预处理/后处理的委托。

如果成本太高(比如一些缓存),您最终会存储它,但我想知道,如果每个属性都需要存储,那么这样的装饰器有什么用。返回装饰对象的新实例会更快,其属性是基于某种计算的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25443803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档