首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制容器的多重反转与“一劳永逸”容器

控制容器的多重反转与“一劳永逸”容器
EN

Stack Overflow用户
提问于 2011-05-02 09:46:53
回答 1查看 124关注 0票数 1

有些项目有一些倒置控制元件.

这些组件工作在不同的概念领域-业务,图形用户界面,全球化,存储.-。

哪一个是你的解决方案?

  • 在单个容器中的所有组件。每个概念区域的
  • a容器。

我会欣赏正反两面的。

谢谢你的努力,提前!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-02 11:24:46

为了保持一致性,我建议您对所有概念区域使用容器的相同实现(AutoFac、Unity、Spring )。

如果每个概念区域都保留一个容器并不困难,那么就这样做。对于相同的依赖项(例如IEmailService ),对于不同的概念区域(RemoteEmailService、LocalEmailService)需要不同的实现时,您将避免出现问题。一个缺点是,如果您有共享组件,您需要跟踪它们并在每个区域的每个容器中注册它们。

如果IOC实现支持父-子容器(AutoFac),则可以在父容器中具有共享组件,并且在每个子容器中具有特定的组件。

如果IOC实现使得难以为每个区域使用单独的容器,则不要对其进行斗争,要么更改它,要么使用一个全局容器,但是在注册组件时要小心。

无论如何,确保您的代码是IOC实现不可知论的。这样,您可以从“一个容器为一切”开始,然后,如果需要的话,移动到“每个区域的容器”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5855663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档