- Your folder structure generally seems fine. Personally, I go for a more modular approach where folders in your core project are actually individual projects in mine, but this is just my preference.
- Dependency Resolution isn't part of your domain and it isn't really infrastructure either (at least in my opinion). It's a concept in and of itself.
- The
DependencyRegistrar
s seem unnecessary. It's the responsibility of Dependency Resolution to map abstractions to implementations. - My immediate reaction would be no, but in the past I have done single page applications where I have used MVC and WebApi in the same project. Thus together they would make the client. If each mobile client has its own backend, I would put those projects in the same folder as the client. Otherwise, I would consider a top-level "backend" or "services" solution folder to put them in if they are shared between multiple different clients.
- I think it makes more sense for each project and their tests to live next to each other so navigating from one to the other or vice-versa is easy (i.e. not having to scroll up and down the solution).
So apart from Dependency Resolution living in Domain and the DependencyRegistrar
s, it seems fine. The specifics are down to what you think is best.