我一直在使用DI概念,但现在我开始使用依赖注入容器(DIC)了。虽然有一点我不清楚。
在我的DIC中,我保留(例如)Config对象和Request对象。我理解请求范围中的这些对象(每次从此容器请求时使用相同的实例)保持不变。但这只发生在我重复使用DIC的同一个实例时。
我应该如何在课程中传递DIC?假设我想在我的Router类中使用它,我是否需要在我的Router类的构造函数中传递它?但是Router类是在另一个类中创建的,那个类也应该已经有了这个DIC对象。
或者我应该创建这个DIC的单身?
答案 0 :(得分:7)
不要走Singleton路线。它有效地利用了DIC为您提供的所有优势。通常在构造函数中传递容器,或者在适用的情况下作为方法参数传递。
是的,这需要您在应用程序周围传递容器对象时付出额外的努力,但结果很好地反映了这些类依赖于此对象的工作。