为什么这是责任链或装饰者模式?

时间:2018-12-10 15:31:42

标签: design-patterns decorator chain-of-responsibility

公司有3种员工:经理,软件设计师和硬件工程师。每个员工类别都有一个不同的PTO(收费时间关闭)方案。例如,软件工程师是Bonus-Holiday计划的一部分,其中他/她的PTO取决于一个月内完成的成功项目。该公司的首席执行官希望找出年底合并的PTO数量,以便将其捐赠给需要帮助的患病员工。设计一个软件模块来计算该值。 这个问题的答案是“责任链”或“装饰者”模式。谁能解释一下?

2 个答案:

答案 0 :(得分:0)

我不认为这是一个装饰器模式。尽管每个员工可以同时担任软件工程师和经理,但这并不意味着他的PTO应该包装两次。

答案 1 :(得分:0)

这个问题似乎模棱两可。 Akshata Dabade提到的观点也很重要。即使我们消除了这种歧义,Decorator或COR也似乎没有。与此最接近的模式是策略 COR 讨论了多个对象有机会以链式方式处理请求,而 Decorator 讨论了具有继承性的分层重用对象(这里没有讨论)。策略谈论的是(可互换的)算法家族。