DDD and solid principles design.

I am currently trying to wrap my head around the principles of DDD and SOLID and have created a sample diagram to see if I understand this correctly. Each lane represents a different project.

DDD

So the way I see the current flow in my code is:

  • The "ViewModel" injects the "Application Service Interface" which is resolved in the "Implementation of the application service"

  • The "implementation of the application service" injects the "domain service interface" that is resolved in the "implementation of the domain service"

  • The "implementation of the domain service" injects the "repository interface" that is resolved in the "repository implementation"

Does the above diagram break some SOLID or DDD principle? If he does, could he explain why and how he would fix it?