Applying domain-driven design and patterns : with examples in C# and .NET - Nilsson, Jimmy. (Addison-Wesley, 2006)