Задать вопрос
i_d_1
@i_d_1
Программист PHP

Как верно заархитектурить заказ?

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

Где бы вы разместили метод расчета стоимости заказа в этих двух разных ситуациях?
  • Вопрос задан
  • 336 просмотров
Подписаться 4 Простой 1 комментарий
Решения вопроса 1
php666
@php666
PHP-макака
Есть метод калькуляции заказа. Метод нужен во многих местах.
в этом и ошибка - все в кучу. Надо сделать, что бы калькуляция была не черным ящиком, а настраиваемым удобным интерфейсом:
$discountCalculator = new discountCalculator(\ListItems $items);
$discountCalculator->addCondition(new SimpleDiscount());
$discountCalculator->addCondition(new BlackFridayDiscount());
$discountCalculator->addCondition(new ByDateDiscount('last day of this month'));
$discountCalculator->addCondition(new ApiDiscount());
$discountCalculator->calculate();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 дек. 2024, в 15:04
3000 руб./за проект
26 дек. 2024, в 14:50
2000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект