Как верно заархитектурить заказ? Есть заказ. Есть метод калькуляции заказа. Метод нужен во многих местах. Размешать метод можно в сущности заказа или в сервисе заказы (или калькулятор заказа, или свой вариант).
И две ситуации:
1) Стоимость заказа зависит только от собственных свойств
2) Стоимость заказа зависит от всякой лабуды например внешние апи, скидки, день недели
Где бы вы разместили метод расчета стоимости заказа в этих двух разных ситуациях?

21 Авг 2019 в 06:57
181 +1
1
Ответы
1

1) В случае, когда стоимость заказа зависит только от собственных свойств, наиболее оптимальным вариантом будет добавить метод калькуляции прямо в сущность заказа. Таким образом, при создании нового заказа можно сразу же рассчитать его стоимость на основе введенных данных, и этот метод будет доступен в любом месте, где есть доступ к объекту заказа.

2) В случае, когда стоимость заказа зависит от различных внешних факторов (например, внешних API, скидок, дня недели), более целесообразным будет добавить метод калькуляции в сервис заказов или в отдельный калькулятор заказа. Это позволит легко вносить изменения в логику расчета стоимости без необходимости менять саму сущность заказа и обеспечит более гибкую систему управления расчетами заказов.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир