Domain Context and Domain Driven Design (DDD) Patterns
Why did you support DDD?
We have been working in large complex applications for the last several projects and found some rough edges around both business logic and data access. These edges come from not separating the business concepts effectively in code. Long running business sagas being isolated helped to solve this. We added this advanced support to Highway.Data to help make this easier for us, and those like us that have drank the DDD punch.
How did you support DDD?
We added a few classes to help support the ability to create domain bounded contexts. These use a generic type parameter to define which domain they contain, and also to segregate the in memory cache for mappings. This allows us to load differing views on similar objects.
This repository has the event interception events, as well as the bounded context.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
This context holds the context level interception events, and is contrained to a
1 2 3 4 5 6 7 8 9 10 11 12
This is the interface that you implement to define a domain for your objects. It includes any event interceptors, context configurations, connection string, and object mappings.
1 2 3 4 5 6 7 8 9 10