2021-10-26 DDD CQRS Гексагональная архитектура

Поделиться
HTML-код
  • Опубликовано: 25 окт 2021
  • Разберём этапы построения одной популярной инфографики, посвящённой связи между различными архитектурными подходами: DDD, CQRS, гексагональная архитектура, порты и адаптеры.
    Ссылка на оригинальную статью: habr.com/ru/post/427739/

Комментарии • 10

  • @VitaliySunny
    @VitaliySunny 2 года назад +1

    Только что прочитал в прошлом видео заявку на DDD и CQRS и тут видос. Магия :)

  • @user-jd2xr7bf2t
    @user-jd2xr7bf2t Год назад

    делал такую штуку на php и go класс

  • @user-is9rt7zv6k
    @user-is9rt7zv6k 2 года назад +2

    Большое спасибо за видео. Сам пишу на симфони, понял, что надо делить приложение на контексты и каждый контекст на Application, Domain, Infrastructure. И тут начинается самое неприятное. Симфони генерирует сущности, которые зависят из-за атрибутов от Doctrine, значит это не сущности, это модель данных, так как сущность не может зависеть от инфраструктуры. Тогда где ее размещать? В папке инфраструктуры? Окей. Значит надо писать какие-то конвертеры моделей в сущности. Но где размещать интерфейсы? Я не прошу ответов, это риторические вопросы были. Хотел попросить, не могли бы Вы на примере симфони показать чистую, гексагональную архитектуру для энтерпрайза? Самое просто что-нибудь... Типо блога... Я в целом суть понял но на практике что куда и в какую папку размещать - начинается путаница. Спасибо ещё раз за видео!

    • @denis0ru
      @denis0ru  2 года назад

      Если коротко, то сущности могут быть и доменными (пользователь, заказ) и инфраструктурными (журнал аудита, кэш запроса к внешнему апи). Доменные модели надо хранить в домене. Мэппинг доктрины можно описывать в аннотациях (не совсем по феншую, но как компромисс) , в xml и даже в php явно конфиги писать. В последних двух случаях- полная отвязка от доменного слоя.
      В первом тоже можно один глаз прикрыть, потому как теоретически обрабатывать аннотации доктрины может другой класс. Или вообще не обрабатывать - конфиг превратится просто в комменты, без функционала.

    • @KNBLAUT
      @KNBLAUT 2 года назад

      У нас домены это и есть сущности доктрины, да в зависимостях есть доктрина в доменном слое, но мы решили забить, пока ничего плохого не произошло. Посмотри вот этот видос ruclips.net/video/cZYezl_2mZk/видео.html тут ребята разделили домен и сущности, довольно не плохо тоже получилось.

  • @user-yh4um1jm6b
    @user-yh4um1jm6b 2 года назад +3

    Все это круто, но только на картинках. Есть код? Хотелось бы тоже самое но с практическими примерами) и желательно пошагово. Типа, вот так-то так-то мы делаем слой доменный, так-то так то реализуем интерфейсы и т.д. Лично мне видео показалось бесполезным по причине отсутствия примеров конкретных.

    • @denis0ru
      @denis0ru  2 года назад +1

      Чудес не бывает. Даже короткая книжка только по DDD - это пара сотен страниц. Объять необъятное в коротком видео задачи не было. Только показать расположение терминов относительно друг друга.

    • @user-yh4um1jm6b
      @user-yh4um1jm6b 2 года назад

      @@denis0ru ну ок. Спасибо. Но если будет возможность запилить такое же видео тока с примерами - с удовольствием его гляну, даже если оно будет 3 часовое :)

    • @denis0ru
      @denis0ru  2 года назад +3

      @@user-yh4um1jm6b заказ принят. Есть одна идейка.

    • @KNBLAUT
      @KNBLAUT 2 года назад

      Вот тут что то похожее ruclips.net/video/cZYezl_2mZk/видео.html