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

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ต.ค. 2024
  • Разберём этапы построения одной популярной инфографики, посвящённой связи между различными архитектурными подходами: DDD, CQRS, гексагональная архитектура, порты и адаптеры.
    Ссылка на оригинальную статью: habr.com/ru/po...

ความคิดเห็น • 11

  • @VitaliySunny
    @VitaliySunny 3 ปีที่แล้ว +1

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

  • @ИмяФамилия-м5я2с
    @ИмяФамилия-м5я2с 2 ปีที่แล้ว +2

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

    • @denis0ru
      @denis0ru  2 ปีที่แล้ว

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

    • @KNBLAUT
      @KNBLAUT 2 ปีที่แล้ว

      У нас домены это и есть сущности доктрины, да в зависимостях есть доктрина в доменном слое, но мы решили забить, пока ничего плохого не произошло. Посмотри вот этот видос th-cam.com/video/cZYezl_2mZk/w-d-xo.html тут ребята разделили домен и сущности, довольно не плохо тоже получилось.

  • @DrSable
    @DrSable 2 หลายเดือนก่อน +3

    У вас граней 10, а не 8. А гексагон (если что) это шестиугольник :). На смысл это конечно не влияет.

  • @АлександрРыков-ж4ы
    @АлександрРыков-ж4ы ปีที่แล้ว

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

  • @ЮрийКарпов-э3ч
    @ЮрийКарпов-э3ч 3 ปีที่แล้ว +3

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

    • @denis0ru
      @denis0ru  3 ปีที่แล้ว +1

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

    • @ЮрийКарпов-э3ч
      @ЮрийКарпов-э3ч 3 ปีที่แล้ว

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

    • @denis0ru
      @denis0ru  3 ปีที่แล้ว +3

      @@ЮрийКарпов-э3ч заказ принят. Есть одна идейка.

    • @KNBLAUT
      @KNBLAUT 2 ปีที่แล้ว

      Вот тут что то похожее th-cam.com/video/cZYezl_2mZk/w-d-xo.html