Перейти к содержимому
Меню
  • Разработка
    •  Базы данных
    • DevOps
      • Docker
      • RabbitMQ
    • JavaScript
      • React js, учебник, документация
      • Angular 2 / Angular 4 / Angular 6
      • AngularJS учебник, уроки
    • PHP
      • DDD
      • Laravel
      • PHP Data Object/PDO
      • PHPUnit
    • Python
      • Flask
    • CSS
  • Маркетинг
    • SEO
      • e-commerce
    • SMM
    • Контент
  • Дизайн
    • Иконки
    • Шаблоны
      • PSD Шаблоны
  • Поиск
  • Разработка
    •  Базы данных
    • DevOps
      • Docker
      • RabbitMQ
    • JavaScript
      • React js, учебник, документация
      • Angular 2 / Angular 4 / Angular 6
      • AngularJS учебник, уроки
    • PHP
      • DDD
      • Laravel
      • PHP Data Object/PDO
      • PHPUnit
    • Python
      • Flask
    • CSS
  • Маркетинг
    • SEO
      • e-commerce
    • SMM
    • Контент
  • Дизайн
    • Иконки
    • Шаблоны
      • PSD Шаблоны

The Web Land

Больше чем web...

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

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 на уровне как мы мыслим, и как облекаем мысли о проблемах в домен, а домен реализуем в продукте.




Рубрики

  • Дизайн
    • Иконки
    • Шаблоны
      • PSD Шаблоны
  • Маркетинг
    • SEO
      • e-commerce
    • SMM
    • Контент
  • Разработка
    •  Базы данных
    • CSS
    • DevOps
      • AWS
      • Docker
      • RabbitMQ
    • JavaScript
      • Angular
      • angularjs
      • Reactjs
    • PHP
      • Laravel
      • PHP Data Object/PDO
      • PHPUnit
      • Symfony
    • Python
      • Flask
  • Юмор




Copyright © thewebland.net, 2014 - 2020 | КОПИРОВАНИЕ МАТЕРИАЛОВ САЙТА БЕЗ АКТИВНОЙ ГИПЕРССЫЛКИ НА ОРИГИНАЛ ЗАПРЕЩЕНО

This website uses cookies to provide you with the best browsing experience.

Find out more or adjust your settings.

The Web Land
Powered by  GDPR Cookie Compliance
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.

3rd Party Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.

Please enable Strictly Necessary Cookies first so that we can save your preferences!