文档讨论了依赖注入的必要性和优点,包括降低耦合度、提高可维护性和可测试性。提供了两种依赖注入模式:构造函数注入和设值注入,并强调在设计时应遵循开放封闭原则和控制反转原则。还警告避免使用单例模式和静态工厂方法,以保持代码的灵活性和可测试性。