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