我想了解DI。既然我还没有编写单元测试,那么对我来说最大的优势就是类的解耦和依赖的管理/控制。
但是还有一个问题:如果我有一个A类(控制器),实例化B类(一个监听器),B类将在某些情况下实例化C类(邮件程序)怎么办? / p>
根据DI原则,我必须创建C并将其传递给B.如果我在请求期间不需要C,该怎么办?我是否必须首先为依赖注入创建一些逻辑?
答案 0 :(得分:1)
根据DI原则,我必须创建C并将其传递给B.如果我在请求期间不需要C,该怎么办?我是否必须首先为依赖注入创建一些逻辑?
这不应该是一个问题,因为injection constructors should be simple:
注入构造函数应该只接收依赖项。
执行此操作时,对象创建速度非常快reliable,并且消费者是否始终使用其所有依赖关系并不重要。