Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подсказка
Это фрагмент из электронной книги «Архитектура микрослужб .NET для контейнеризованных приложений .NET», доступной в документации .NET или в виде бесплатного скачиваемого PDF-файла, который можно прочитать в автономном режиме.
Разработка модели домена для каждой микрослужбы или ограниченного контекста, которая отражает понимание бизнес-домена.
В этом разделе рассматриваются более сложные микрослужбы, которые реализуются при необходимости решать сложные подсистемы или микрослужбы, производные от знаний экспертов области с постоянно изменяющимися бизнес-правилами. Шаблоны архитектуры, используемые в этом разделе, основаны на подходах к сегрегации на основе домена (DDD) и команд и запросов (CQRS), как показано на рис. 7-1.
Разница между внешней архитектурой: шаблоны микрослужб, шлюзы API, устойчивые связи, pub/sub и т. д., а также внутренняя архитектура: управляемые данными/CRUD, шаблоны DDD, внедрение зависимостей, несколько библиотек и т. д.
Рис. 7-1. Архитектура внешних микрослужб и внутренние шаблоны архитектуры для каждой микрослужбы
Однако большинство методов для управляемых данными микрослужб, таких как реализация службы веб-API ASP.NET Core или предоставление метаданных Swagger с помощью Swashbuckle или NSwag, также применимы к более сложным микрослужбам, реализованным внутри с помощью шаблонов DDD. Этот раздел является расширением предыдущих разделов, так как большинство методик, описанных ранее, также применяются здесь или для любой микрослужбы.
В этом разделе сначала приводятся сведения о упрощенных шаблонах CQRS, используемых в справочном приложении eShopOnContainers. Позже вы получите общие сведения о методах DDD, позволяющих найти распространенные шаблоны, которые можно использовать повторно в приложениях.
DDD — это большая тема с богатым набором ресурсов для обучения. Вы можете начать с таких книг, как книга по Domain-Driven Дизайну Эрика Эванса, и дополнительных материалов от Вона Вернона, Джимми Нилссона, Грега Янга, Уди Дахана, Джимми Богарда и многих других экспертов по DDD/CQRS. Но больше всего вам нужно постараться научиться применять методы DDD из бесед, визуализации на доске и занятий по моделированию домена с экспертами в вашей конкретной бизнес-области.
Дополнительные ресурсы
DDD (Domain-Driven Design)
Эрик Эванс. Язык домена
https://domainlanguage.com/Мартин Фаулер. Дизайн Domain-Driven
https://martinfowler.com/tags/domain%20driven%20design.htmlДжимми Богард. Укрепление домена: руководство
https://lostechies.com/jimmybogard/2010/02/04/strengthening-your-domain-a-primer/Вебинар по распределенному дизайну Domain-Driven Design
https://particular.net/webinars/ddd-design-no-nonsense-implementation-guide
Книги DDD
Эрик Эванс. Domain-Driven Дизайн: управление сложностью в центре программного обеспечения
https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/Эрик Эванс. Справочник по проектированию Domain-Driven: определения и сводки шаблонов
https://www.amazon.com/Domain-Driven-Design-Reference-Definitions-2014-09-22/dp/B01N8YB4ZO/Вон Вернон (Vaughn Vernon). Реализация проектирования Domain-Driven
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577/Вон Вернон (Vaughn Vernon). Domain-Driven дизайн дистиллированный
https://www.amazon.com/Domain-Driven-Design-Distilled-Vaughn-Vernon/dp/0134434420/Джимми Нилссон. Применение Domain-Driven дизайна и паттернов
https://www.amazon.com/Applying-Domain-Driven-Design-Patterns-Examples/dp/0321268202/Сезар де ла Торре. Руководство по архитектуре С уровнем N Domain-Oriented с помощью .NET
https://www.amazon.com/N-Layered-Domain-Oriented-Architecture-Guide-NET/dp/8493903612/Abel Avram и Floyd Marinescu. Domain-Driven быстрое проектирование
https://www.amazon.com/Domain-Driven-Design-Quickly-Abel-Avram/dp/1411609255/Скотт Миллетт, Ник Тюнинг - Шаблоны, принципы и практики проектирования Domain-Driven
https://www.wiley.com/Patterns%2C+Principles%2C+and+Practices+of+Domain+Driven+Design-p-9781118714706
Обучение DDD
- Джули Лерман и Стив Смит. основы проектирования Domain-Driven
https://www.pluralsight.com/courses/fundamentals-domain-driven-design