Для каждого продукта есть соответствующие калькуляторы затрат, такие как: скидка, скидка продавца, бонус продавца, ежемесячная скидка и т. Д. В будущем будет добавлено больше калькуляторов стоимости.
У нас есть конкретный класс продукции и множество декораторов для каждого расчета стоимости. Все продукты должны использовать все калькуляторы, потому что калькуляторы решают применить свои вычисления к свойствам продукта, таким как идентификатор продавца продукта, идентификатор категории, цвет и т. Д.
И есть миллионы продуктов в нашей системе, которые необходимо рассчитать. Итак, лучше кешируем оформленные калькуляторы. Потому что декорирование каждой сущности продукта во время выполнения будет дорогостоящим. Но это сложно с шаблоном декоратора. Похоже на запах использовать этот шаблон в нашей ситуации.
Что вы предлагаете? Должны ли мы использовать декораторы, стратегию или шаблон цепочки ответственности? Или без шаблона.