Проектирование, ориентированное на домен (или DDD) — это один из самых популярных подходов к проектированию программного обеспечения, и есть веские причины для этого. Оно позволяет создавать высокообслуживаемые системы, используя специфические знания домена и основывая реализацию на хорошо разработанных моделях с использованием универсального языка. В этом курсе Амихай Мантинбанд расширит знания, представленные в его начальном курсе, и углубится в продвинутые концепции DDD, такие как event storming, суб-домены, ограниченные контексты, картирование контекстов, дизайн агрегатов и многое другое.
Это пробный урок. Оформите подписку, чтобы получить доступ ко всем материалам курса. Премиум
Урок 1.
00:02:41
Welcome
Урок 2.
00:02:08
What will you learn in this course?
Урок 3.
00:02:32
Who is the course for and prerequisites
Урок 4.
00:08:09
Designing Systems Following Domain-Driven Design
Урок 5.
00:03:45
Key Strategic and Tactical Practices
Урок 6.
00:02:33
Domain Discovery
Урок 7.
00:08:12
Domain Discovery Techniques
Урок 8.
00:02:28
Event Storming Sneak Peek
Урок 9.
00:04:17
Documenting Ubiquitous Language
Урок 10.
00:03:26
Documenting Invariants
Урок 11.
00:01:29
Section Recap
Урок 12.
00:03:08
What is Event Storming?
Урок 13.
00:07:01
Event Storming Legend
Урок 14.
00:02:54
Types of Event Storming
Урок 15.
00:05:30
Big Picture Event Storming
Урок 16.
00:05:24
Gym Session Scheduling System Domain Overview
Урок 17.
00:05:19
Big Picture Event Storming In Action - Setup
Урок 18.
00:13:25
Round 1 - Chaotic Exploration
Урок 19.
00:16:00
Round 2 - Enforce the Timeline
Урок 20.
00:05:11
Round 3 - People & Systems
Урок 21.
00:05:23
Round 4 - Walkthrough & Reverse Narrative
Урок 22.
00:01:19
Round 5 - Arrow Voting
Урок 23.
00:01:52
Big Picture Event Storming Goals
Урок 24.
00:01:48
Section Recap
Урок 25.
00:04:29
What is Process Modeling Event Storming?
Урок 26.
00:01:30
Process Modeling - The Rules of the Game
Урок 27.
00:02:11
Process Modeling in Action - Setup
Урок 28.
00:02:01
Round 1 - Framing the Problem
Урок 29.
00:13:25
Round 2 - Rush to the Goal
Урок 30.
00:08:23
Round 3 - Fill in the Blanks
Урок 31.
00:01:14
Process Modeling Event Storming Goals
Урок 32.
00:01:01
Section Recap
Урок 33.
00:04:57
Refresher - What are Domains & Sub-Domains
Урок 34.
00:08:35
Identifying Sub-Domains
Урок 35.
00:03:10
Classifying Sub-Domains
Урок 36.
00:01:30
Section Recap
Урок 37.
00:07:00
Refresher - What are Bounded Contexts
Урок 38.
00:04:29
Reviewing Our Ubiquitous Language
Урок 39.
00:02:39
Reviewing Our Invariants
Урок 40.
00:03:47
Reviewing Our Sub-Domains
Урок 41.
00:01:57
How Bounded Contexts Affect Domain Models
Урок 42.
00:03:46
Defining Bounded Contexts
Урок 43.
00:06:35
Defining Our Bounded Contexts
Урок 44.
00:00:35
Section Recap
Урок 45.
00:02:54
Refresher - What is Context Mapping
Урок 46.
00:03:58
Team Relationships
Урок 47.
00:10:46
Context Map Patterns
Урок 48.
00:03:37
Context Mapping In Action - Setup & Context
Урок 49.
00:08:59
Creating an Admin Profile
Урок 50.
00:02:22
Creating a Subscription
Урок 51.
00:02:36
Creating a Gym
Урок 52.
00:02:33
Creating a Room
Урок 53.
00:03:10
Creating a Session
Урок 54.
00:01:22
Creating a Participant Profile
Урок 55.
00:01:05
Reserving a Spot in a Session
Урок 56.
00:01:12
Context Mapping In Action - Conclusion
Урок 57.
00:02:37
Strategic Goals Alignment
Урок 58.
00:00:38
Section Recap
Урок 59.
00:01:36
Refresher - What is the Tactical Phase
Урок 60.
00:07:21
Refresher - Tactical Patterns
Урок 61.
00:03:48
Tactical Phase Objectives
Урок 62.
00:00:33
Section Recap
Урок 63.
00:00:48
Enforce Invariants
Урок 64.
00:00:20
Reference Aggregates By Id
Урок 65.
00:00:16
Update Aggregate via Aggregate Root
Урок 66.
00:01:45
Prefer Smaller Aggregates
Урок 67.
00:02:00
One Aggregate Per Transaction
Урок 68.
00:02:57
Use Eventual Consistency Outside the Boundary
Урок 69.
00:00:31
Maintain Aggregate Scope
Урок 70.
00:00:19
Aggregate Root Identity Uniqueness
Урок 71.
00:00:37
Private > Public
Урок 72.
00:00:22
Assess and Refactor
Урок 73.
00:06:07
Aggregate Design Steps
Урок 74.
00:02:07
Aggregate Design In Action - Step 1
Урок 75.
00:05:57
Aggregate Design In Action - Step 2
Урок 76.
00:02:05
Aggregate Design In Action - Step 3
Урок 77.
00:02:03
Aggregate Design In Action - Step 4 Setup
Урок 78.
00:05:44
Merging Aggregates in the User Management Context
Урок 79.
00:10:42
Merging Aggregates in the Gym Management Context
Урок 80.
00:04:06
Merging Aggregates in the Session Management Context - The Chain Effect of Merging Aggregates
Урок 81.
00:06:02
Merging Aggregates in the Session Management Context - Identifying Missing Domain Objects
Урок 82.
00:02:24
Merging Aggregates in the Session Management Context Continued
Урок 83.
00:03:50
Merging Aggregates in the Session Management Context - Propagating Data Across Bounded Contexts
Урок 84.
00:04:51
Merging Aggregates Across Bounded Contexts
Урок 85.
00:01:58
Merging Aggregates in the Session Management Context - Continued
Урок 86.
00:04:30
Aggregate Design Draft Reflection
Урок 87.
00:01:13
Merging Aggregates Based On Eventual Consistency Constraints
Урок 88.
00:03:20
Evolving Aggregate Design With Time or Refactoring Existing Aggregate Designs
Урок 89.
00:02:33
Converting Aggregate Design To Code
Урок 90.
00:01:11
Section Recap
Урок 91.
00:01:32
Course Conclusion
Автор - Dometrain
Dometrain
Курсы, разработанные настоящими инженерами для реального мира. Курсы Dometrain направлены на предоставление опыта обучения, который программные инженеры могли бы получить, работая в паре с очень опытным и квалифицированным инженером в современной реальной компании.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Domain-Driven Design (DDD), или проектирование, ориентированное на домен, является одним из самых популярных подходов к разработке программного обеспечения, и это не случайно. Как отлично описал Мартин Фаулер, это подход к разработке программного обеспечения, который концентрирует разработку на программировании доменной модели с глубоким пониманием процессов и правил домена. Создание программного обеспечения таким образом, особенно при работе со
Этот курс учит основам Domain-Driven Архитектуры (DDD) посредством демонстрации взаимодействия с клиентами и сложного демонстрационного приложения, а также советами Эрика Эванса.
Domain-Driven Design: работа с устаревшими проектами
Domain-Driven Design: Working with Legacy Projects
Откройте для себя лучшие способы предоставления новых функциональных возможностей и масштабируемости баз унаследованного кода с помощью этого углубленного курса «Domain-Driven Design: работа с устаревшими проектами».
Моделируйте сложные предметные области с TypeScript
Model Complex Domains with TypeScript
"Моделирование доменов на TypeScript" - это интенсивный однодневный воркшоп, посвящённый принципам Domain-Driven Design (DDD) с использованием TypeScript в качестве основного инструмента. Курс поможет вам освоить подходы к созданию надёжной архитектуры программного обеспечения, которую легко развивать и масштабировать по мере роста требований.