This answer from ChatGPT, whether or not Direct Injection is a good pattern to adopt in any project, is spot on. Go for it if you are ready to embrace the associated complexity. Don’t go for it, if you lean toward simplicity.
Embracing the Complexity
While DI can introduce complexity, especially in large applications with many dependencies, the benefits it provides in terms of modularity, testability, and maintainability are significant. The key to managing this complexity is to follow best practices in software design, such as adhering to the SOLID principles, keeping components focused and responsibilities clear, and not overusing DI where simpler solutions might suffice.
Ultimately, the preference for or against dependency injection often comes down to personal experience, project requirements, and the specific challenges encountered in application development. Developers who have seen the benefits of DI in terms of maintainability, scalability, and testability in complex projects tend to appreciate the pattern despite its potential for complexity.