-
06-09-2019 - |
题
有关有相关成本计算器等每个产品:折扣,由商家折扣,由商家奖金,每月折扣等。在未来,更成本计算器将被添加
我们为每个成本计算混凝土产品类和许多装饰器。所有产品应该使用所有的计算器,因为计算器决定通过同类产品的商家ID,类别ID,颜色等产品的性质来运用他们的计算。
此外,还有数以百万计的产品在我们的系统中需要计算。所以,我们最好缓存装饰计算器。因为,在运行时装饰每一个产品的实体将是昂贵的。但是,这是很难用装饰图案。这似乎是一种气味来使用我们的情况了这种模式。
你有什么建议?我们应该用装饰,战略或责任链模式?或无图案。
解决方案
所有产品应该使用所有的 计算器,因为计算器 决定通过运用他们的计算 产品的性质类似产品 商家ID,类别ID,颜色等。
如果您需要将所有产品全部采用装饰,那么你就没有真正获得从图案任何好处。这是否意味着,如果你实现一个新的装饰,所有现有的实体必须更新为使用新的装饰?
装修应适用于产品仅在必要时,只有那些需要应当施加装饰。
我想你应该从装修中删除的决定;别的东西要决定是否申请一个装饰,在这种情况下,包装在适当的装饰产品。这样,你知道,如果一个产品被包裹在一个装饰,那个装饰的影响(影响?)的产品。
其他提示
在一个策略模式,的对象的改变的意图。
因此,我认为战略将是一个不错的选择。
不隶属于 StackOverflow