Kephas 有自己的依赖注入容器。为什么要另一种框架,为什么不使用现有的框架呢?

2024-01-26

这些天在查看 Kephas 框架时,我注意到它提供了自己的依赖注入容器。现在市场上有这么多依赖注入框架,为什么要自带自己的实现呢?这不就是重新发明轮子吗?


Kephas 本身不提供 DI/IoC 容器,它仅提供 DI/IoC 容器之上的抽象层,以便它可以使用组合本身,而无需绑定到特定的实现。它所提供的是这个抽象层的适配器System.Composition在 Kephas.Composition.Mef 包中(https://www.nuget.org/packages/Kephas.Composition.Mef/ https://www.nuget.org/packages/Kephas.Composition.Mef/)。我们还计划了一个适配器Autofac但我们没有时间去实现它。

请注意,这个抽象层确实具有 Kephas 独有的一些功能:

  • 注册的服务实现可以被覆盖,以利用分层应用程序架构。
  • 服务契约/接口通过以下方式驱动注册[*AppServiceContract]属性。

另请注意,元数据支持是 Kephas 集成的 DI 框架的必需功能,在某些情况下可能会施加限制。欲了解更多信息,您可以在这里阅读:https://github.com/kephas-software/kephas/wiki/Composition-and-Dependency-Injection https://github.com/kephas-software/kephas/wiki/Composition-and-Dependency-Injection.

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

Kephas 有自己的依赖注入容器。为什么要另一种框架,为什么不使用现有的框架呢? 的相关文章

  • 基于 AST 结合使用 And Or 和 Not 表达式的 C# 表达式

    我想使用 Linq 表达式来实现一些动态功能 我需要 And Or 和 Not 表达式 我无法得到太多 我们想要检查系统中是否启用了某些功能 并据此决定是否显示菜单项 我们已经形成了 XML 格式的规则 我知道将规则转换为 AST 但我不知
  • 在同一进程中混合 .NET 3.5 与 4/4.5 程序集

    我想将基于 NET 3 5 WinForms 的应用程序迁移到最新的 NET 版本 4 5 该应用程序使用当前也基于 NET 3 5 的 外部 组件 可以视为插件 我想知道我们转换时使用哪些运行时 核心库仅应用程序使用 NET 4 5 进行
  • 如何使用 XmlSerializer 在大文档中插入节点

    我有一个很大的 XML 文档 我想使用XmlSerializer类来插入新元素 其内容来自使用 xsd exe 生成的 NET 类实例 这是问题的后续如何使用 XmlSerializer 反序列化大型文档中的节点 https stackov
  • SvcUtil.exe 与添加引用

    当 VS NET 中的 添加服务引用 提供了您需要的所有代理类时 为什么有人会使用 SvcUtil exe 有时在 VS 中添加服务引用无法创建有用的代理 相反 它为您提供了一个空的 Reference cs 详细信息here https
  • 使用另一个 MEF 程序集中的类而不引用它

    我有 2 个 MEF 组件 设其为A成分和B成分 我需要的是能够从组件 A 中的组件 B 访问一个类 而不需要引用它 然后我想手动实例化该类的对象 目前我看到 MEF 允许使用 Import 自动实例化对象 它使用需要引用的接口 我可以使用
  • 在实体框架 6 中使用 SqlQuery>

    我正在尝试在 EF 6 中执行 SQL 查询 select查询返回两个字符串列 例如select a b 并且可以有任意数量的行 我想将结果映射到字典 但我无法摆脱以下错误 错误 1 无法将类型 System Data Entity Inf
  • 使用 Rhino Mocks 存根只读属性

    我有一个带有私有集属性的类 我想用犀牛模拟来消除它 但是 当我尝试执行此操作时 它会出现编译时错误 提示我无法设置只读属性 我是使用 Rhino Mocks 的新手 所以我一定在这里遗漏了一些东西 public Interface IFoo
  • 将 MVC 操作结果发送到打印机

    我有一个带有操作的控制器 SomeController ActionToBePrinted ActionToBePrinted 返回一个 html 视图 当按下按钮时 从普通的 mvc razor 视图调用此操作 当按下按钮时 我将如何将视
  • __FUNCTION__ 宏的 C# 版本

    有人对 C FUNCTION 宏的 C 版本有好的解决方案吗 编译器似乎不喜欢它 尝试使用这个代替 System Reflection MethodBase GetCurrentMethod Name C 没有 LINE or FUNCTI
  • Winforms——多选下拉列表

    我正在寻找一个允许我选择多个项目的下拉列表控件 类似于 CheckedListbox 但采用下拉列表形式 我不希望它占据屏幕的很大一部分 此时我非常确信 NET 中不存在这样的内置控件 请注意 这是 Winforms 而不是 ASP NET
  • Mono 实现 CLR 吗?或者至少有一些非托管的内部调用?或无?

    我们知道 C 使用非托管代码 如 P Invoke 或 CLR 实现的代码 如 InternalCall 我想知道的是 mono 它自己实现了一个完整的 CLR 还是只是一些非托管代码或者什么都没有 我可以使用 Net Reflactor或
  • .NET 中安全身份的本地化

    我想在 NET 中实现一个用于服务 客户端通信的命名管道 并遇到了这段代码 http code msdn microsoft com windowsdesktop CSNamedPipeCommunication 33b2485c view
  • 如何使用 c# 编写几个精确的计时器(精确到 10 毫秒间隔)

    我已经开始使用 C VS2010 Net Fw 4 0 进行桌面应用程序开发 涉及多个计时器 起初 我使用的是系统定时器为了通过 USB 将数据发送到数据总线 我的观点是 我需要以几个特定的 时间间隔发送不同的周期性二进制消息 例如 10m
  • Visual Studio 2010 的“线程”窗口中的 和 [Thread Destroyed] 详细信息

    我一直在尝试调试与一个应用程序的线程相关的一些问题 当我附加到应用程序时 我看到一个像这样的窗口 这个名为 Thread Destroyed 的线程是什么 应用程序代码肯定不会写这个名称 这意味着线程的调用堆栈不可用 采集引擎 线程在应用程
  • 缺少嵌入互操作类型属性

    在一个 C 项目中 我收到以下警告 警告 CS1762 创建了对嵌入式互操作程序集 Interop SomeLibrary dll 的引用 因为间接引用了程序集 ALibraryOfMine dll 创建的该程序集 考虑更改任一程序集的 嵌
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • 调整屏幕和字体设置的 WPF 应用程序(或者,我如何将 DLU 与 WPF 中的单元相关联?)

    在MFC中 对话框的设计使用DLUs http msdn microsoft com en us library bb847924 aspx 在 WPF 中 我们以 1 96 英寸为单位指定 虽然这确实会缩放窗口和视觉元素 但我们如何使 W
  • 在哪里可以找到 Microsoft.Build.Utilities.v3.5

    如何获取 Microsoft Build Utilities v3 5 我正在使用 StyleCop 4 7 Stylecop dll 中的 StyleCop msbuild 任务似乎依赖于 Microsoft Build Utilitie
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work

随机推荐

  • RISC-V 中的旋转位

    嘿 我对 RISC V 还算陌生 我的练习题之一是 将 0x0000000000000123 的值右移 4 位 预期结果为 0x3000000000000012 即所有十六进制数字向右移动一位 而最右边的一位移动到前面 到目前为止 我了解了
  • 可以在 C++ 中缓存虚函数查找吗?

    假设我在抽象基类指针 mypointer gt foo 上有一个虚拟函数调用 foo 当我的应用程序启动时 根据文件的内容 它选择实例化特定的具体类并将 mypointer 分配给该实例 在应用程序的剩余生命周期中 mypointer 将a
  • 如何调用 rake 目标两次

    我通过修改 csproj 文件以包含额外的编译符号 从 sln 生成两组不同的 DLL 文件 我正在使用 rake 构建解决方案 并执行以下构建任务 desc Builds the DPSF sln in Release mode msbu
  • 正则表达式不匹配连字符后的数字

    我有以下内容 1 5 5 tablespoon cream 1 cup heavy cream teaspoon cream 1 tablespoon cream s d 我试图找出原因 不匹配 我在非捕获组中有一个转义的连字符 我尝试过的
  • Android 构建脚本存储库:jcenter VS mavencentral

    上次我使用Android Studio时 它生成了 gradle文件与mavencentral buildscript 存储库 而现在有jcenter 谁能解释一下与此相关的问题 还有其他回购吗 我们什么时候应该切换它们 它们对项目 模块
  • VBA XML DOM 搜索可能并不总是存在的项目

    在解析其他节点的数据时 如何为可能并不总是属于其父节点的节点创建循环 假设您有一个非常大的文件 其中包含其中几个项目 但为了简单起见 我们使用此 XML 请注意 第一个 book id 没有我们想要的节点 因此我们的循环已经失败
  • PySpark 和 MLLib:随机森林预测的类概率

    我正在尝试提取使用 PySpark 训练过的随机森林对象的类概率 但是 我在文档中没有看到它的示例 也不是一种方法RandomForestModel 我怎样才能从a中提取类别概率RandomForestModelPySpark 中的分类器
  • .htaccess 导致重定向

    你好 我在 public html ex 中有 2 个文件夹 主文件夹和子文件夹 在我的 public html 与我的 2 个文件夹相同的级别中 我有一个像这样的 htaccess 文件 RewriteEngine On RewriteC
  • 使用 Junit 进行 Android 单元测试:测试网络/蓝牙资源

    我慢慢地沉迷于单元测试 我正在尝试使用测试驱动开发来开发尽可能多的软件 我正在使用 JUnit 对我的 Android 应用程序进行单元测试 我一直在开发一个使用蓝牙的应用程序 并且很难对其进行单元测试 我有一个活动 它使用蓝牙适配器来获取
  • Jetpack Compose 查找父级宽度/长度

    我想显式检索的值fillMaxSize 假设我有 Box Modifier fillMaxSize background Color Yellow var size Box Modifier size someSize background
  • 在 jquery 移动列表中使用自定义图标

    我找到了有关使用自定义图标的文档jQuery 移动按钮 http jquerymobile com demos 1 0 docs buttons buttons icons html以及如何使用现有图标自定义列表 http jquerymo
  • 模板函数和非模板函数调用顺序

    在Linux中我得到 template max is called 但在Windows下我得到 non template max is called 为什么 在 Linux 中 我使用 gcc 4 5 在 Windows 中我使用 VS20
  • Java JPanel 鼠标侦听器对其组件不起作用

    这个问题的解决办法是什么 我向 JPanel 添加了一个鼠标侦听器 但该面板充满了覆盖 JPanel 整个区域的按钮 示例 伪 代码 Create JPanel Set to GridLayout Add 25 buttons 5x5 gr
  • 将数据发送到 iPhone 中的上一个视图

    将数据发送到 iPhone 中的先前视图有哪些可能的方法 不使用Appdelegate 因为我的视图类有机会被再次实例化 我相信最好的方法是使用NSNotificationCenter班级 基本上 您所做的就是向通知中心注册一个对象 作为观
  • iPhone 急救人员

    我对 iPhone 响应链感到困惑 具体来说 在iPhone事件处理指南中http developer apple com iPhone library documentation iPhone Conceptual iPhoneOSPro
  • 构建:找不到名称 Promise - Visual Studio 2015 w/ MVC6 和 Angular 2

    首先 我已经检查过这些 https github com angular angular issues 7052 https github com angular angular issues 7052 https github com a
  • 对于obj-c中的属性,我们是否需要声明实例变量?

    对于obj c中的属性 我们是否需要声明实例变量 例如 如果我的 h 文件如下所示 interface MyClass NSObject property nonatomic retain NSNumber someId property
  • 如何使用无服务器的 serverless-aws-documentation 插件生成带有标签的 swagger 文档

    我正在使用 serverless aws documentation 插件自动生成 swagger doc 遵循以下位置提供的所有步骤 https github com 9cookies serverless aws documentati
  • 路由器状态未通过 redux 保留在 React-Native 中

    我有以下内容redux配置在react native using react native router flux and redux persist 我想在刷新时检索最后一条当前路由 但是路由堆栈在重新加载时被覆盖 这是reducers
  • Kephas 有自己的依赖注入容器。为什么要另一种框架,为什么不使用现有的框架呢?

    这些天在查看 Kephas 框架时 我注意到它提供了自己的依赖注入容器 现在市场上有这么多依赖注入框架 为什么要自带自己的实现呢 这不就是重新发明轮子吗 Kephas 本身不提供 DI IoC 容器 它仅提供 DI IoC 容器之上的抽象层