Skip to main content
Logo

Предметно-ориентированное проектирование (DDD) PHP

April 4, 2018
ru
This is an archived post from thewebland.net. Content may be outdated.

Cпрашивают - что такое архитектура? что такое домен? Ответ простой и очень глубокий - это язык! Domain-driven design (DDD) - это набор принципов, правил и паттернов, который позволит программе разработчиков начать говорить на одном языке с командой клиентов.

Если обратиться к википедии получим тоже, но более сложными словами.

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

Предметно-ориентированное проектирование не является какой-либо конкретной технологией или методологией. DDD — это набор правил, которые позволяют принимать правильные проектные решения. Данный подход позволяет значительно ускорить процесс проектирования программного обеспечения в незнакомой предметной области.

Взято с - https://ru.wikipedia.org/wiki/Проблемно-ориентированное_проектирование

Цикл статей по (DDD) будет включать в себя примеры кода на PHP.

  • [DDD] Язык
  • [DDD] Модель
  • [DDD] Упрощение объектной модели
  • [DDD] Имлементация
  • [DDD] Репозиторий
  • [DDD] Репозиторий Doctrine
  • [DDD] Альтернатива Doctrine
  • [DDD] Сервисы и Фабрики

Все отсылки к книге Эрика Эванса - Предметно-ориентированное проектирование (DDD). Структуризация сложных программных систем.

Цитата от автора на другом ресурсе :)

Тема сложна лишь тем, что предлагает совершенно альтернативный взгляд на разработку ПО. Получается как бы naming convention, но не на уровне скобочек или названия переменных. А convention на уровне как мы мыслим, и как облекаем мысли о проблемах в домен, а домен реализуем в продукте.