有关有相关成本计算器等每个产品:折扣,由商家折扣,由商家奖金,每月折扣等。在未来,更成本计算器将被添加

我们为每个成本计算混凝土产品类和许多装饰器。所有产品应该使用所有的计算器,因为计算器决定通过同类产品的商家ID,类别ID,颜色等产品的性质来运用他们的计算。

此外,还有数以百万计的产品在我们的系统中需要计算。所以,我们最好缓存装饰计算器。因为,在运行时装饰每一个产品的实体将是昂贵的。但是,这是很难用装饰图案。这似乎是一种气味来使用我们的情况了这种模式。

你有什么建议?我们应该用装饰,战略或责任链模式?或无图案。

有帮助吗?

解决方案

  

所有产品应该使用所有的   计算器,因为计算器   决定通过运用他们的计算   产品的性质类似产品   商家ID,类别ID,颜色等。

如果您需要将所有产品全部采用装饰,那么你就没有真正获得从图案任何好处。这是否意味着,如果你实现一个新的装饰,所有现有的实体必须更新为使用新的装饰?

装修应适用于产品仅在必要时,只有那些需要应当施加装饰。

我想你应该从装修中删除的决定;别的东西要决定是否申请一个装饰,在这种情况下,包装在适当的装饰产品。这样,你知道,如果一个产品被包裹在一个装饰,那个装饰的影响(影响?)的产品。

其他提示

在一个策略模式,的对象的改变的意图。

因此,我认为战略将是一个不错的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top