我有各种不同的模型,其中许多至少有一个依赖项(通常是Db适配器)。我刚刚开始讨论DIC或IoC的想法,而我正试图围绕我需要的东西 - 所有示例通常都显示了使用容器创建单个对象。
如果我有许多用户模型,许多博客模型以及各种其他模型,我该如何管理?拥有1个大容器,许多不同的小容器,甚至是单个工厂PER模型是否常见?
或者我是否已经错误地考虑过这个问题?
注意:如下所述,按照模型,我相信我的意思是“域名模型”。更具体一点 - 帮助我管理特定于我的网站/应用程序的数据的类,例如用户,博客等。
答案 0 :(得分:3)
您的应用程序的一个容器通常就足够了。有一个名为Composition Root的概念,描述了如何正确使用DI容器。
用户,博客等商业模式类通常不会从容器中提取。您提供指定的工厂,而这些工厂又可以注入需要创建模型对象的类中。