Structuring a .NET solution based on DDD
So far, we have been introduced to the layers and core building blocks of a DDD-based software solution. In this section, we will learn how a .NET solution can be layered based on DDD. I will begin with the simplest possible solution structure. Then, I will explain how ABP's startup solution template evolved into its current structure. Finally, you will understand why the ABP startup solution has that many projects inside it and the purpose of each.
Creating a simple DDD-based .NET solution
Let's start from scratch and keep things simple by creating four projects in our .NET solution, as shown in the following screenshot:
Assuming that we are building a Customer Relationship Management (CRM) solution, Acme is our company name, and Crm is the product name in this example. I've created a separate C# project for each layer. .NET projects...