问题标签 [inversion-of-control]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - DI-类型类型的动态参数,其中类型是父对象类型
我有一个依赖项,需要将其注入我的一个类中。这种依赖将是生活方式Transient
。它又具有 type 的依赖关系Type
。这个类型应该是原始类的类型。我只是想知道是否有人知道我将如何进行此注册。
参见示例:
现在我知道我可以随时打电话Container.Resolve
,Customer
然后Register
手动注入。但是我需要注入Register
我的大部分课程,所以这并不是那么可行。因此,我需要一种通过 config 或通过container.Register
.
inversion-of-control - Smalltalk 和 IoC
我看到很多 .Net 和 Java 的 IoC 框架。有谁知道为什么 Smalltalk 没有等效的框架。这更像是一个哲学问题。我想知道 Smalltalk 的做事方式是否有某些东西排除了拥有 IoC 框架的必要性。
c# - 温莎城堡在哪里以及如何建立伐木设施
我是温莎城堡的新手,正在调查伐木设施的进出。这似乎相当令人印象深刻,但我唯一无法解决的是 Windsor 在我的类上设置 Logger 属性的位置。如以下代码所示,如果尚未设置类但在 Resolve 完成运行时设置了 Logger 属性,则将 Logger 设置为 nullLogger。
所以我想知道的是 Windsor 如何以及在何处设置我的 Logger 属性。
干杯安东尼
c# - .net 控制反转
我很少听到有人在 .Net中使用控制反转 (Ioc)原理。我有一些使用 Java 的朋友在 Spring 和 PicoContainer 中使用了更多的 Ioc。
我了解从您的代码中删除依赖项的原则......但我怀疑它是否更好。
为什么.Net 程序员不使用(或少用)那些类型的框架?如果你这样做了,从长远来看,你真的发现了积极的影响吗?
c# - 哪些控制反转 (IoC) 容器支持 .NET 1.1?
哪些控制反转 (IoC) 容器支持 .NET 1.1?
asp.net-mvc - StructureMap IOC/DI 和对象创建
我正在使用 asp.net mvc 和 Structuremap ioc/di 构建小型网上商店。我的篮子类使用会话对象进行持久化,我想使用 SM 通过 IBasket 接口创建我的篮子对象。我的篮子实现需要构造函数中的 HttpSessionStateBase(来自 mvc 的会话状态包装器),它在 Controller/Action 中可用。如何为 SM 注册我的 IBasket 实现?
这是我的购物篮界面:
和SM注册:
但是我的 StoreBasketService 实现有构造函数:
如何向 SM 提供 HttpSessionStateBase 对象,该对象仅在控制器中可用?
这是我第一次使用 SM IOC/DI,在官方文档和网站中找不到解决方案/示例;)
.net - .config 到构造函数的技巧?
我正在做一个快速的项目来监控/处理数据。本质上,这只是监视器、时间表和处理器。监视器使用计划检查数据(ftp、本地、imap、pop 等)并将新数据发送到处理器。它们都有接口。
我正在尝试找到一种理智的方式来使用 config 来配置每个监视器使用的调度/处理器。这很容易:
我正在苦苦挣扎的是配置任何旧监视器/时间表/处理器的最佳方法是什么。一方面,可以实现构造函数参数或属性(不采用任何语法):
另一种解决方案是每个接口中的工厂方法,它将自定义配置作为参数:
我见过有人同时使用这两种方法。你喜欢哪个?将配置映射到构造函数时有什么技巧吗?
我对 DI 是否能融入这个烂摊子感到有些不安。最后,这将是每个监视器实例的一组绑定,除了配置可以覆盖的默认值之外,这似乎毫无意义。
inversion-of-control - Castle Windsor 是否允许解析值类型?
我正在尝试将参数传递给需要 System.TimeSpan 的组件。我只能解决“长滴答声” ctor。
这是配置文件的片段:
这是一个例外:
为组件参数传递刻度值是可行的,如下所示:
但这违背了目的。
inversion-of-control - Castle-Windsor 是否通过 XML 配置支持 ForwardedTypes
我有一个实现多个接口的类。我想通过 XML 注册这些接口。我找到的只是新 Fluent Interface 的文档。此选项是否通过 XML 支持?添加此功能将涉及什么?
c# - 在单例后面抽象 IoC 容器 - 做错了吗?
通常,我喜欢让应用程序完全不了解 IoC 容器。但是,我遇到了需要访问它的问题。为了消除痛苦,我使用了一个基本的 Singleton。在你跑上山或拔出猎枪之前,让我回顾一下我的解决方案。基本上,IoC 单例完全没有做任何事情,它只是委托给一个必须传入的内部接口。我发现这使得使用单例变得不那么痛苦。
下面是 IoC 包装器:
IDependencyResolver:
到目前为止,我使用它的几次都取得了巨大的成功(也许每隔几个项目一次,我真的不想完全使用它),因为我可以注入任何我想要的东西:Castle,一个存根,假货,等等
这是一条湿滑的路吗?我会在未来遇到潜在的问题吗?