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 有自己的依赖注入容器。为什么要另一种框架,为什么不使用现有的框架呢? 的相关文章

  • NUnit 与 xUnit

    两者有什么区别NUnit http www nunit org and xUnit net https xunit net 开发其中两个而不是仅一个有什么意义 我读到 xUnit 是由 NUnit 的发明者开发的 xUnit net 是 N
  • 如何通过 COM 将长数组从 VB6 传递到 C#

    我需要将 int 或 long 数组 无关紧要 从 VB6 应用程序传递到 C COM Visible 类 我尝试在 C 中声明接口 如下所示 void Subscribe MarshalAs UnmanagedType SafeArray
  • 在c#中创建sql连接

    我是这个网站的新手 也是编程的新手 我目前正在通过销售点创建库存系统 它使用模态和非模态形式 我的问题是 我正在研究change password对话框必须连接到数据库才能覆盖密码字段 我使用的数据库是Microsoft SQL Serve
  • 如何在不下载内容的情况下执行 GET 请求?

    我正在开发一个链接检查器 一般来说我可以执行HEAD请求 但是有些网站似乎禁用了这个动词 所以在失败时我还需要执行GET请求 仔细检查链接是否确实已失效 我使用以下代码作为我的链接测试器 public class ValidateResul
  • 如何以一种形式发布两个或多个模型?

    我正在为一个项目开发互联网课程计划应用程序 该课程计划是根据以下模型构建的 使用数据库优先方法中的实体框架生成 public partial class Subject public int Id get set public string
  • InvalidOperationException:无法解析类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务

    我开始将我的 asp net core RC1 项目转换为 RC2 并面临现在的问题IHttpContextAccessor没有解决 为了简单起见 我使用 Visual Studio 模板创建了新的 ASP NET RC2 项目ASP NE
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • Typescript:如何在自定义过滤器中使用角度 $filter

    如何在自定义过滤器中使用 Angular filter 如何注入 filter依赖 module Filters export class CustomFilter public static Factory return function
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 如何将 CSV 文件读入 .NET 数据表

    如何将 CSV 文件加载到System Data DataTable 根据CSV文件创建数据表 常规 ADO net 功能是否允许这样做 我一直在使用OleDb提供者 但是 如果您正在读取具有数值的行 但希望将它们视为文本 则会出现问题 但
  • 元素属性语法和属性属性语法之间有语义差异吗?

    我认为元素属性语法和属性属性语法在语义上没有太大区别 但是 我发现一定有什么不同 例如 下面的例子只是演示了一个简单的触发器
  • 在 System.Xml.XPath 中启用 XPath2 查询(XPathException:无效令牌)

    Microsoft 的 System Xml XPath nuget package 可用于 NET 4 6 声称支持 XPath 1 0 和 2 0 德文档 https msdn microsoft com en us library s
  • 将标签文本的一部分设置为粗体

    有什么办法可以使一部分label text要大胆吗 label text asd string 想要string部分要加粗 有可能吗 这怎么办 下面的类说明了如何通过覆盖来做到这一点OnPaint in the LabelWinForms
  • DataGridView 中的 C# FormatException

    我创建了一个带有一些列的 DataGridView 订单列仅允许用户输入 int 数字 当我输入 j 例如 时 它会抛出 FormatException 并且我尝试添加 try catch 来解决问题 但它看起来不起作用 private v
  • string.Empty 与 null。您使用哪一个?

    最近工作的同事告诉我不要使用string Empty设置字符串变量时但使用null因为它污染了堆栈 他说不做 string myString string Empty but do string mystring null 真的有关系吗 我
  • 如何获取可用系统内存的大小?

    C NET 中是否可以获取系统可用内存的大小 如果是的话怎么办 Use Microsoft VisualBasic Devices ComputerInfo TotalPhysicalMemory http msdn microsoft c
  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默

随机推荐

  • 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 容器之上的抽象层