В этой статье мы рассмотрим возможность управлять данными домена для тестов. Тестовые фабрики в Laravel-это известная концепция, хотя во многих областях она отсутствует: они не очень гибки и также…
Предметно-ориентированный Laravel
Предметно-ориентированное проектирование (Domain-driven design, DDD) — это набор принципов и схем, направленных на создание оптимальных систем объектов. Сводится к созданию программных абстракций, которые называются моделями предметных областей. В эти модели входит бизнес-логика, устанавливающая связь между реальными условиями области применения продукта и кодом.
Предметно-ориентированное проектирование не является какой-либо конкретной технологией или методологией. DDD — это набор правил, которые позволяют принимать правильные проектные решения. Данный подход позволяет значительно ускорить процесс проектирования программного обеспечения в незнакомой предметной области.
Подход DDD особо полезен в ситуациях, когда разработчик не является специалистом в области разрабатываемого продукта. К примеру: программист не может знать все области, в которых требуется создать ПО, но с помощью правильного представления структуры, посредством предметно-ориентированного подхода, может без труда спроектировать приложение, основываясь на ключевых моментах и знаниях рабочей области.
Данный термин был впервые введен Э. Эвансом в его книге с таким же названием «Domain-Driven Design».
Модель представления. Предметно-ориентированный Laravel
В сегодняшней статье серии Предметно-ориентированный Laravel мы поглубже погрузимся в прикладной уровень. Основной тенденцией на протяжении всей серии является сохранение кода чистым, лаконичным и управляемым. Эта статья не будет отличаться,…
Введение в слой приложения. Предметно-ориентированный Laravel
Еще в главе 1 я утверждал, что одной из характеристик доменно-ориентированных проектов Laravel является следующее: [ … ] самое важное, что вы начинаете думать в группах связанных бизнес-концепций,…
Управление доменами. Предметно-ориентированный Laravel
В предыдущих главах мы рассмотрели три основных строительных блока наших областей: DTO, действия и модели. Сегодня мы сделаем передышку от низкоуровневых технических вещей и сосредоточимся на философской стороне: как…
Состояния. Предметно-ориентированный Laravel
Паттерн состояния – это один из лучших способов добавить в модели поведение, зависящее от состояния, сохраняя при этом их чистоту. В этой главе мы поговорим о шаблоне состояния…
Модели. Предметно-ориентированный Laravel
В предыдущих главах я говорил о двух из трех основных строительных блоков каждого приложения: DTO и действия – данные и функциональность. В этой главе мы рассмотрим последний фрагмент, который…
Действия. Предметно-ориентированный Laravel
Теперь, когда мы можем работать с данными в безопасном типизированном и прозрачном виде, нам нужно начать что-то делать с ними. Точно так же, как мы не хотим работать…
Структуры данных в PHP. Data Transfer Object. Предметно-ориентированный Laravel
В основе каждого проекта лежит работа с данными. Почти каждая задача приложения может быть обобщена следующим образом: предоставлять, интерпретировать и манипулировать данными любым способом, который хочет бизнес. Все статьи…
Предметно-ориентированный Laravel
Люди мыслят категориями, наш код должен быть отражением этих мыслей. Во — первых, я не придумал термин “домен” – я получил его из популярной парадигмы программирования DDD, или…