dependenciesdomain-driven-designproject

DDD driven solution structure


I am creating a project based on DDD principles. I came up with the following while reading the resources on the internet, does that make sense? In particular, parts like:

The following table shows the projects I have created and their dependencies, -> denotes 'depends on'.

Rest.API -> Feature1.Core -> Feature1.Data
                          -> Shared.Core
         -> Feature2.Core -> Feature2.Data
                          -> Shared.Core
         -> Shared.Core

Solution

  • You can name the folders whatever you want but it is recommended that:

    So, to map to you already have:

    Rest.API -> Feature1.Domain -> Shared.Lib
             -> Feature1.Infrastructure
             -> Feature1.ACL -> Feature1.Infrastructure
             -> Feature2.Domain -> Shared.Lib
             -> Feature2.Infrastructure
             -> Shared.Lib
    

    With the following comments: