Skip to content

Visual Studio Solution for TEE14 Session EF Model Partioning in Domain-Driven Design Bounded Contexts

Notifications You must be signed in to change notification settings

bcnu/TEE14Demo

 
 

Repository files navigation

TEE14Demo

Visual Studio Solution for TEE14 Session EF Model Partioning in Domain-Driven Design Bounded Contexts

This is the source for the demos I showed during my session that was recorded here: http:https://channel9.msdn.com/Events/TechEd/Europe/2014/DEV-B411.

Please keep in mind that this is for demo purposes only and is not meant to be a full DDD reference app but just a solution that I used to demonstrate the concepts I focused on in this session.

There are also examples of things that are specific to the demo, for example, I use a message queue to mirror contact info into a database used by a different BC. This is okay for some scenarios but not when you have to be considerate of race conditions.

The entire solution is not fleshed out. Instead, I worked through the sample code that i needed to demonstrate the concepts in my session.

There are a series of tests. The ContactManagement Tests and SalesOrder.Infrastructure tests, use RabbitMQ as the message queue. You'll need to isntall RabbitMQ (rabbitmq.com) to run those.

The solution requires you to build in order for it to retrieve some of it's necessary DLLs from Nuget.

For a more detailed discussion of the whole pub/sub workflow that triggers the messages to be queued, please see my MSDN Data Points columns:

A Pattern for Sharing Data Across Domain-Driven Design Bounded Contexts Part 1, October 2014 MSDN Magazine: http:https://msdn.microsoft.com/en-us/magazine/dn802601.aspx Part 2, December 2014 MSDN Magazine: https://msdn.microsoft.com/en-us/magazine/dn857357.aspx.

Also, many are finding the Domain-Driven Design Fundamentals course that I did with Steve Smith for Pluralsight to be very helpful. bit.ly/PS-DDD

Since I am constantly learning and evolving my ideas, I think that, thanks to a suggestion from https://github.com/danielmarbach, I'll be replacing my event storage pattern (e.g. "name got updated" in contact) to using CommonDomain (https://github.com/NEventStore/CommonDomain). Eventually... :)

Hope this helpful!

About

Visual Studio Solution for TEE14 Session EF Model Partioning in Domain-Driven Design Bounded Contexts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.8%
  • Classic ASP 0.2%