依赖注入上下文中的组合根是什么?

2024-03-18

我正在探索依赖注入和术语成分根到处都在使用。那么它是什么?


组合根是应用程序中使用依赖项注入容器组合应用程序的对象图的单个位置(尽管如何完成此操作无关紧要,它可以使用容器,也可以使用手动完成)pure DI http://blog.ploeh.dk/2014/06/10/pure-di/).

应该只有一个地方会发生这种情况,并且您的容器不需要在组合根之外使用。

引用以下链接的答案之一:

在实践中,这意味着您 应该在以下位置配置容器 您的应用程序的根目录。

  • 在桌面应用程序中,这将位于 Main 方法中(或非常接近它)
  • 在 ASP.NET(包括 MVC)应用程序中,这将位于 全局.asax
  • 在 WCF 中,这将位于 ServiceHostFactory 中
  • etc.

有一个很好的答案here https://stackoverflow.com/questions/1410719/design-where-should-objects-be-registered-when-using-windsor/1410738#1410738这进一步解释了这一点。

也可以看看这个答案 https://stackoverflow.com/questions/1475575/where-should-i-do-dependency-injection-with-ninject-2/1475861#1475861.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

依赖注入上下文中的组合根是什么? 的相关文章

随机推荐

  • Google Play 排行榜 UI 颜色更改

    在我刚刚开发的游戏中 直到一周前 排行榜 UI 颜色还是深半透明的绿色 这看起来感觉很好 至少对眼睛不刺激 突然之间 它变成了明亮的半透明红色 并且从那时起就一直保持这种颜色 这种颜色与我游戏的任何阶段的任何屏幕都不匹配 这是我的排行榜屏幕
  • 如何在 Dart 中创建 HTML 链接?

    我想用 Dart 创建一个 HTML 链接 在 HTML 中我会写 You can click a href url 1 here a and a href url 2 there a 我不知道如何在 Dart 中做到这一点 我尝试过类似的
  • Python xlwt 创建错误的 Excel 书

    我正在尝试使用xlwt创建具有多个选项卡的输出文件 xlsx 格式 我的Python版本号是2 7 我使用Aptana Studio 3作为IDE 我用过xlwt包之前 具有相同的环境 执行相同的任务 效果很好 但这一次 一开始运行良好 然
  • 将 gcc libs .data 放在特定部分?

    我正在尝试为我们的嵌入式系统切换到 GNU GCC 编译器 但由于我们芯片的内存布局被分割 我在链接该项目时遇到了问题 RAM section 1 0x10000 0x12FFF RAM section 2 0x18000 0x1BFFF
  • Express js中通过id删除mongodb文档

    我正在为此抓狂 尝试通过 id 删除文档 router delete api menu delete id function req res var id req params id db get collection menu funct
  • 如何在自定义验证属性中获取/注入服务

    我们使用 NET Core 3 1 5 这是一个 Blazor 服务器应用程序 我们有一个 ValidationAttribute 并需要访问外部服务来验证对象 ValidationAttribute 有 IsValid 方法 protec
  • 有没有办法在 C# 中修改进程 DACL

    我有更改进程 DACL 的遗留 C 代码 并尝试使用 NET 3 5 中的托管代码类 我在网上找到了代码 其中有人创建了一个 SetAclOnServices 类 该类扩展了服务的 NativeObjectSecurity 类 我认为我可以
  • jQuery 数据表中的列排序

    我已经了解了 jQuery 数据表插件中的列排序以及控制它的各种方法 我有一个查询是否可以通过单击上箭头图标将按升序和下箭头图标进行排序的方式控制排序会按降序排序吗 有两种方法可以做到这一点 具体取决于datatables版本 编辑数据表版
  • 如何在Python中将一个对象的所有属性复制到另一个对象?

    在Python中 是否有一个库方法可以复制同一类的两个 已经存在的 实例之间的所有属性 我的意思是 类似 Apache Commons 的东西PropertyUtilsBean copyProperties Try destination
  • ActiveRecord 查询比直接 SQL 慢得多?

    我一直致力于优化项目的数据库调用 我注意到下面两个相同的调用之间的性能存在 显着 差异 connection ActiveRecord Base connection pgresult connection execute SELECT S
  • 当我“推”到 Bitbucket 时,可以从 VPS 中“拉”一个钩子

    我正在 Bitbucket 中管理我的 WordPress 模板 每次我push主题 我必须登录我的 VPS 服务器并且pull回购协议 我想自动完成 如果我自己运行 git daemon 我找到了一个解决方案 推送到服务器后执行自动拉取请
  • 基于现有模板生成Word文档的最佳方法是什么

    TL DR 我可以使用 NET 生成 Word 文档 如 XAML ItemTemplates 吗 我发现很难找到一个满足我所有要求的解决方案 所以我想我会把它扔到 stackoverflow 希望有人能指导我 非常感谢 简单来说 我需要根
  • 如何根据条目的长度过滤 pandas 数据框

    在 pandas 数据框中 我有一个字段 amp 应由长度为 495 的列表填充 是否有一种 pandas ic 方法可以快速过滤此长度 使得具有字段 amp 的所有行不等于 495被丢弃 I tried df len df amp 495
  • 如何将 SQL 查询与不同的表达式结合起来?

    我的三个查询已经达到了我的 SQL 知识的顶峰 Microsoft SQL 2005 如果这很重要 现在我需要将它们组合成一个查询 并将所有值放在一行上 我的实际查询如下 但我认为如果我在这里提供一个简单的版本会更容易 查询一 Provid
  • 尝试覆盖 Hive 分区时写入 __HIVE_DEFAULT_PARTITION__ 的行已损坏

    当尝试使用 Spark 2 3 覆盖 Hive 表中的分区时 我看到一些非常奇怪的行为 首先 我在构建 SparkSession 时设置以下设置 config spark sql sources partitionOverwriteMode
  • XmlPullParser:获取包含 XML 标签的内部文本

    假设您有一个如下所示的 XML 文档
  • 有什么方法可以使用 boto3 直接将文件写入 S3 吗?

    我编写了一个 python 脚本来处理非常大的文件 总共几 TB 我将在 EC2 实例上运行该脚本 之后 我想将处理后的文件存储在 S3 存储桶中 目前 我的脚本首先将数据保存到磁盘 然后将其上传到S3 不幸的是 考虑到等待实例首先写入磁盘
  • Google PageSpeed 用户代理的名称是什么?

    这一页 https developers google com speed docs insights faq whyonlinediff表示它使用自定义用户代理 但没有提及名称 如果用户代理来自 PageSpeed 我希望能够运行一些逻辑
  • VS2013测试代理和控制器不通信

    我有一个运行 VS2013 负载测试控制器的 Windows Azure VM 和另一个运行 2013 负载测试代理的 Azure VM 我一直无法让两人成功沟通 我将每个虚拟机的主机名和 IP 添加到另一个虚拟机的 HOSTS 文件中 我
  • 依赖注入上下文中的组合根是什么?

    我正在探索依赖注入和术语成分根到处都在使用 那么它是什么 组合根是应用程序中使用依赖项注入容器组合应用程序的对象图的单个位置 尽管如何完成此操作无关紧要 它可以使用容器 也可以使用手动完成 pure DI http blog ploeh d