EDIT: Got confused and wrote about Clean Architecture instead.
In my first year of professional programming, I tried to apply Clean Code to a side project. What I learned is exactly what you wrote. The result is very modular, but it’s a lot of code to write. But these are good ideas. What I needed to do was to develop my own philosphy and then to adapt it to the project’s context.
It’s the same with DDD. Which globally give the same guidelines: The use cases should drive your design; Push technical considerations out of the ___domain model; Cluster things that belongs together;…
But all of these is to balance speed (now), readability (near future), and maintainability (far future). These techniques and others will help you discern the equilibrium (which varies during the software lifetime)
In my first year of professional programming, I tried to apply Clean Code to a side project. What I learned is exactly what you wrote. The result is very modular, but it’s a lot of code to write. But these are good ideas. What I needed to do was to develop my own philosphy and then to adapt it to the project’s context.
It’s the same with DDD. Which globally give the same guidelines: The use cases should drive your design; Push technical considerations out of the ___domain model; Cluster things that belongs together;…
But all of these is to balance speed (now), readability (near future), and maintainability (far future). These techniques and others will help you discern the equilibrium (which varies during the software lifetime)