Vaughn Vernon - How to Use Aggregates for Tactical Design

  Рет қаралды 23,542

Vaughn Vernon

Vaughn Vernon

Күн бұрын

Пікірлер: 17
@VaughnVernon
@VaughnVernon 4 жыл бұрын
Table of Contents for mobile users: 1:48 | 5.1 Why Used 5:05 | 5.2 Aggregate Rules of Thumb 17:00 | 5.3 Modeling Aggregates 23:05 | 5.4 Choose Your Abstractions Carefully 28:53 | 5.5 Right-Sizing Aggregates 34:14 | 5.6 Testable Units
@FreFreTube
@FreFreTube 2 жыл бұрын
From all the video's about DDD out there Vaughn's are definitly the most straight forward. I found these to be the best DDD learning material I've seen. Thank you Vernon!
@VaughnVernon
@VaughnVernon 2 жыл бұрын
Thank you so much for your nice comment. It is good to know you have benefitted from Vaughn's work. To keep informed, please sign up to our mail list on Kalele.io and you will be kept up to date on our latest efforts to help the community.
@CosasCotidianas
@CosasCotidianas 4 жыл бұрын
Thank you Mr. Vernon for this useful video!
@iankirkpatrick2022
@iankirkpatrick2022 4 жыл бұрын
Great content and very helpful! Would like to see more emotion in the voice though so it's easier to understand emphasized points or arguments better
@devdaniloambrosio
@devdaniloambrosio 5 жыл бұрын
So didactic! Thanks, Vaughn!
@wowDepressive
@wowDepressive 4 жыл бұрын
Thanks for some practical markers on domain design
@villanuevacarlos14
@villanuevacarlos14 2 жыл бұрын
This was really helpful! Thanks
@VaughnVernon
@VaughnVernon 2 жыл бұрын
We are very happy to know it was of help to you! For more information join our mail list on Kalele.io.
@abomalek8
@abomalek8 2 жыл бұрын
Very important and nice guide, I guess the most important section in the video is 5.5 that starts @ 28:53
@shaikzuhair8537
@shaikzuhair8537 5 жыл бұрын
Thanks for you valuable work..
@ruixue6955
@ruixue6955 3 жыл бұрын
5:12 4 Aggregate rules of thumb 6:07 1. protect *business invariants* inside aggregate *boundaries* 5:34 2. design small aggregate 5:44 4. update other aggregates using eventual consistency
@ruixue6955
@ruixue6955 3 жыл бұрын
2:34 an aggregate has a few different parts to it 2:43 an aggregate root entity may also hold other entities and value object 2:59 *aggregate root entity* names the aggregate concept as a whole 3:13 it has *global unique identity* 3:25 an aggregate is a transactional consistency boundary 3:30 inside an aggregate everything must be consistent at the end of the transaction 4:34 it's easy to think of an *aggregate as being a transactional boundary*
@rammehar5531
@rammehar5531 Жыл бұрын
Hello Sir, Sorry to disturbing you, Actually, I have read you book and stuck with the below situation Rule: Reference Other Aggregates by Identity When designing Aggregates, we may desire a compositional structure that allows for traversal through deep object graphs, but that is not the motivation of the pattern. [Evans] states that one Aggregate may hold references to the Root of other Aggregates. However, we must keep in mind that this does not place the referenced Aggregate inside the consistency boundary of the one referencing it. The reference does not cause the formation of just one whole Aggregate. By Vaughn Vernon I have a situation where I am building Two different aggregates Contest and Questions a contests has one to many relationship between contest and question. I am confused is it good choice or not in regard with contest and questions Because I want to use Questions as a Question bank and want to use same question in different contest, contest has a mechanism after publish no one can’t edit the question
@johnwayne2700
@johnwayne2700 5 жыл бұрын
17:00 What if the second transaction fails? The aggregate roots would be in inconsistent state.
@zartcolwing3218
@zartcolwing3218 5 жыл бұрын
The aggregate root in each aggregate will still be consistent regarding the business rules governing a single aggregate. What will not be consistent is the business relation between the two aggregates. In this case you have to think about issuing a compensation command to revert the first aggregate in a state compatible with the state of the second aggregate. just my guess.
@xavierlevaux621
@xavierlevaux621 3 жыл бұрын
As explained by Zart, the other aggregate has to take into consideration the event emitted by first aggregate. This means applying some business logic in another transaction. If that transaction fails, this should mean that the event is not consumed and thus must be retried. Now, it could be that the business logic of processing that event decides that a condition is not met in that aggregate. It will then emit another event that will be used to eventually compensate in the first aggregate.
Vaughn Vernon - Microservices and Domain Driven Design (Munich 2017)
1:26:33
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
Disrespect or Respect 💔❤️
00:27
Thiago Productions
Рет қаралды 43 МЛН
風船をキャッチしろ!🎈 Balloon catch Challenges
00:57
はじめしゃちょー(hajime)
Рет қаралды 93 МЛН
How to design great Aggregate Roots in Domain-Driven Design
11:30
Milan Jovanović
Рет қаралды 15 М.
Connell Watkins  -  - Onion Architecture with DDD and CQRS
50:23
DDD East Midlands Conference
Рет қаралды 23 М.
Design Accelerator: Ports and Adapters Architecture Part 3
17:27
Vaughn Vernon
Рет қаралды 1,7 М.
Advanced patterns for use with Event Sourced systems - James Geall - DDD Europe 2023
54:25
Domain-Driven Design Europe
Рет қаралды 3,3 М.
Mastering DDD Aggregate Modeling With THESE 3 Steps
17:26
Codewrinkles
Рет қаралды 11 М.
Mauro Servienti - Talk Session: All Our Aggregates Are Wrong
50:14
Vaughn Vernon - Domain-Driven Design Europe 2016
50:00
Vaughn Vernon
Рет қаралды 950
Designing and Implementing Aggregates - Mariusz Gil
1:21:41
Avanscoperta
Рет қаралды 6 М.
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24