В той же ситуации я бы нарушил «правило тупых объектов данных», так как не ожидаю, что эти конкретные вычисления будут часто меняться. Я, вероятно, реализовал бы это как получатель.
Для более сложных сценариев имеет смысл создать класс OrderCalculator, который принимает классы, связанные с заказами, и может выполнять все виды вычислений, такие как включенный налог, измерение полей и т. Д. Таким образом, вы делегируете обязанности выполнения расчет за пределами CustomerOrder. Таким образом, заказчику не нужно знать о государственном налоге в Техасе, чтобы определить, например, нужен ли налог с продаж.