Software Architecture · SOLID Principles
How should dependency injection and SOLID be applied in a production system?
Use constructor injection for required dependencies, keep lifetimes correct, and treat large dependency lists as a design signal.