【发布时间】:2010-09-16 05:39:54
【问题描述】:
我正在寻找一种模式来模拟我正在考虑在个人项目中做的事情,我想知道修饰器模式的修改版本是否可以工作。
基本上,我正在考虑创建一个游戏,其中角色属性通过他们装备的物品进行修改。装饰器堆叠其修改的方式非常适合这一点,但是我从未见过允许您删除中间装饰器的装饰器,当物品未装备时会发生这种情况。
有没有人以这种方式使用装饰器模式?还是我找错树了?
澄清
为了解释“中间装饰器”,例如我的基类是用牛奶装饰的咖啡,用糖装饰的牛奶(使用 Head first 设计模式中的示例)牛奶将是中间装饰器,因为它装饰了基础咖啡,并被糖装饰。
还有更多说明:)
这个想法是物品会改变统计数据,我同意我将装饰器硬塞到这个里面。我会查看状态包。本质上,我想要一个单点调用统计数据,并在装备/未装备物品时让它们上升/下降。
我可以将修改器应用于装备时的角色统计数据,并在取消装备时将它们回滚。或者每当要求统计数据时,遍历所有项目并计算统计数据。
我只是在这里寻找反馈,我知道我可能会使用电锯,而剪刀会更合适......
【问题讨论】:
-
中间装饰器是什么意思?