DM
OrderService в котором есть метод attemptAutoCheckout() (попытка автоматического оформления, собственно метод, который будет проверять заказ и в случае успеха - оформлять). Но тут фигурирует не только сервис, а ещё класс OrderValidator который осуществляет проверку по определённым правилам, реализующим интерфейс RuleInterface .Получается, что в контроллере мы вызываем
$this->orderService->attemptAutoCheckout($order);
а уже внутри этого метода у нас:
$this->orderValidator->addRule(new FooRule());
$this->orderValidator->addRule(new BarRule());
if (! $this->orderValidator->validate($order)) {
$errors = $this->orderValidator->getErrorMessages();
}
Вопрос, куда разместить
OrderValidator , RuleInterface , FooRule , BarRule ? Если просто закинуть рядом с OrderService в директорию Services/ то непонятно что к чему относится (а ведь OrderValidator как бы логически связан именно с OrderService ), в отдельную директорию вынести? Или что? Как бы вы поступили?


