Академический Документы
Профессиональный Документы
Культура Документы
$this->mailer->sendInvoice(
$order->getUser(), Invoice::PDF
);
Data Access ORM
}
Хотя все эти архитектуры несколько различаются в деталях, они очень похожи.
У каждого есть по крайней мере один уровень для бизнес-правил и другой для
интерфейсов.
Architectural approaches.
Каждая из этих архитектур создает системы, которые:
Testable. Бизнес-правила можно тестировать без UI, базы данных, веб-сервера или любого другого
внешнего элемента.
Independent of UI. UI можно легко изменить, не изменяя остальную часть системы. Веб-интерфейс
можно заменить, например, консольным, без изменения бизнес-правил.
Independent of Database. Вы можете заменить MySQL на Mongo, Oracle или что-то еще. Ваши
бизнес-правила не привязаны к базе данных.
Independent of any external agency. На самом деле ваши бизнес-правила просто ничего не знают о
внешнем мире.
Domain Models, Repository Interfaces,
Domain Services, Domain Events
Presentation
App Services, Commands,
Command Handlers,
Domain Event Handlers,
Application Logic Queries, DTOs
Gateways
API Gateways
External Dependencies
Направление зависимостей
Folder Structure
Бизнес логика/правила
Поведение приложения
Resources
Роберт Мартин
Денис Цветцих
Kristopher Wilson
https://github.com/farukh-narzullaev/ecommerce