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

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

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

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

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