依赖注入:禁止 AI 硬编码实例化,提升可测试性与扩展性
AI 写代码时,非常喜欢一种“最快能跑”的方式,,例如: db = Database() cache = RedisCache() mailer = EmailService() service = UserService() 哪里需要,就在哪里创建。 短期看很方便,但当项目越来越大以后,就会出现: 数据库实例到处创建 缓存客户端到处创建 配置散落 Service 互相 new 测试时无法替换依赖 这类代码最明显的问题是: 对象把自己的依赖写死了。 而 DI(Dependency Injection,依赖注入) 要解决的,就是这件事。 ...