In this video Greg discusses Bounded Contexts and a brief overview of strategic design.
Bounded Contexts
In this video we will look at the concept of Bounded Contexts from Domain Driven Design and why they are so central to modeling problems.
Greg 16 05 18
Layered Architecture?
This video looks at a "Architecture" in Object Oriented systems and how it may not line up with your typical view of layered architectures
ApplicationServices
In this video we will go through a DDD pattern "Application Services". These are small services that sit on top of your domain model and coordinate the model in order to provide a behavior (use c...
Specifications
This video looks at the Domain Driven Design pattern known as a specification. A specification is a way of giving vocabulary to an object from the outside. Though the specification pattern is not...
Command Handlers
In this video Greg Young looks at Application Services and refactors them towards Command Handlers and eventually ditching OO in favor of a more functional viewpoint.
Projections
In this video Greg Young describes various ways of implementing projections. To start in an object oriented style and ending in a functional style.
A Failed CQRS System
In this session Greg Young will go through a common implementation of CQRS and why it is likely to fail in production (and only in production!). This architecture is often seen on slides of peopl...
EventSourcing
In this video we will go through Event Sourcing at a conceptual level. If you have seen a talk etc on Event Sourcing you may want to skip this video and move on to the next one.
This video is...
Drawing an Event Store
Domain
After a lot of discussion about events and event sourcing and everything except the domain, in this video we will look at how things get structured in the domain model. Both Event Sourced and non-...
Testing
In this video we will look at how to test these types of systems. One benefit we will see is that with a relatively small amount of effort we can get documentation to print from the tests.
Versioning
One of the biggest questions people tend to have in event based systems is if you store your events for long periods of time how do you handle the versioning of the events? In this video we will l...
Push vs Pull Models
In this segment various integration models are looked at as well as the differences between them. When is a pull better than a push and vice-versa?
Sliding Window
This talk looks at a particular type of problem that can come up with eventual consistency when dealing with the write side. On the write side we only provide consistency within aggregate boundari...
Different SLAs
A common strategy towards dealing with eventual consistent systems that can also provide for geographical distribution for these types of systems.
One Way Commands
This video changes the client interaction where an ACK no longer means the command has been processed but instead means it has been accepted. This introduces quite a few changes into how the backe...
Restful Distribution
In this talk we will look at a restful distribution mechanism that has been used in a few systems that can help with versioning between them especially when there are large numbers of consumers
Process Managers 1
In this video Greg begins to get into the idea of Process Managers, what they are, and how they can be used.
Process Managers and Time
In this video we will go more in depth into process managers and how they can be used to handle time as well as varying byzantine problems. The link discussed for the kata is
Occasionally Connected Systems
CQRS is not just for big back end systems. It is also quite useful for some of the smallest systems like mobile apps. In this video Greg Young will describe how CQRS and Event Sourcing can be use...