ioc-container相关内容

如何从di依赖注入容器上下文中自动连接(自动连接)/获取nette中的服务

如何从容器自动部署Nette服务,以便在演示者(控制器)或模型等内部使用? 推荐答案 若要自动布线Nette中的服务以便于检索和使用,它们必须在配置.neon配置中注册,或者必须是框架以多种方式默认设置的服务: 在构造函数中指定和传递接口、类类型 use AppModel; // or use AppModelArticleRepository; publi ..
发布时间:2022-08-20 16:47:58 PHP

Autofacc未使用';Autofac.Core.Activators.Reflection.DefaultConstructorFinder';找到任何构造函数

无法使用可用的服务和参数调用类型为‘LMS.Services.Security.EncryptionService’的带有‘Autofac.Core.Activators.Reflection.DefaultConstructorFinder’的构造函数: 无法解析构造函数“void.ctor(LMS.Models.SecuritySettings)”的参数“”LMS.Models.Securit ..

Laravel:区别 App::bind 和 App::singleton

我对 laravel 在 IOC 容器和外观方面提供的所有好处感到有些困惑.因为我不是一个经验丰富的程序员,所以学习起来会让人不知所措. 我在想,这两个例子有什么区别: 'Foo' 的外观并通过 App::bind() 在容器中注册 'Foo' 的外观并通过 App::singleton() 在容器中注册 在我的最佳理解中,Foo::method() 将被重写为 $ ..
发布时间:2022-01-08 08:50:42 PHP

Laravel 4 目标接口不可实例化

这与这个问题有关 How to register a namespace in laravel4 但我相信我已经解决了,并且命名空间现在正在工作. 我遇到了一个新问题.我相信错误来自尝试在控制器构造函数中键入提示,并且与使用命名空间和使用 ioc 有关. BindingResolutionException:目标 [App\Models\Interfaces\PostRepositoryI ..
发布时间:2022-01-08 08:42:11 其他开发

什么时候使用属性注入?

什么时候应该使用属性注入? 如果在完全受控的情况下创建实例,我应该默认使用构造函数注入吗? 使用构造函数注入编写与容器无关的代码是否正确? 解决方案 什么时候应该使用属性注入? 如果依赖项确实是可选的,当您有本地默认值,或者当您的对象图包含循环依赖项时,您应该使用属性注入. 属性注入然而会导致时间耦合以及在编写业务线时应用程序,您的依赖项永远不应该是可选的:您应该改为应 ..
发布时间:2021-12-26 10:51:19 其他开发

使用 IoC 容器时,原始构造函数参数是一个坏主意吗?

标准新手免责声明:我是 IoC 的新手并且收到了混合信号.我正在寻找有关以下情况的一些指导. 假设我有以下接口和实现: 公共接口 IImageFileGenerator{无效重命名文件();void CopyFiles();}公共类 ImageFileGenerator : IImageFileGenerator{私有只读 IList_链接;私有只读字符串_sourceFolder;私有只 ..

使用 IoC 时我对接口抽象感到困惑

我最近一直在尝试学习 IoC,根据以下代码有几个问题: public class WarriorModule : NinjectModule{公共覆盖无效负载(){绑定().To();绑定().ToSelf();}} 我无法理解接口的新概念.在创建IRunnable 之类的接口之前,先实现函数void Run().使用 IoC,我现在将接口视为只映射到单个具体类的东西.假设,我如何将多个具体类 ..
发布时间:2021-12-26 10:40:17 其他开发

城堡温莎传递构造函数参数

我有一个带有一些属性的 IAddress 类.然后我有一个实现这个接口的具体类型.这个具体类型有几个我可以使用的不同构造函数.如何在运行时将参数值传递给这些构造函数之一?我不能使用配置文件,因为我将多次重用这个具体类型,每次参数值都会不同. IWindsorContainer container = new WindsorContainer(new XmlInterpreter());IAddr ..

使用 Unity 的策略模式和依赖注入

我终于开始使用依赖注入(早该)了;我开始使用 Unity 并遇到了策略模式的问题.我可以使用容器返回给我基于名称的策略的特定实现,但我没有看到我应该如何在上下文中获得正确的策略. 让我们用一个简单的例子来说明:上下文是一辆汽车,它有一个 IEngine(策略),有 2 个实现,FastEngine 和 SlowEngine.代码将沿着以下几行: 公共接口IEngine{双倍最大速度{得到;}} ..

比较 Castle Windsor、Unity 和 StructureMap

在对 Krzysztof 的声明的跟进中,Windsor 比其他 IoC 做得更多,我想了解这些 IoC 是如何与之抗衡的彼此以及温莎城堡提供的好处/额外设施. 有比较吗?有人可以帮助我了解 Castle Windsor 比其他 IoC 提供的附加功能吗 解决方案 参见 此处 和 此处 对几种 IoC 进行了非常彻底的技术比较容器,虽然现在有些过时(它们来自 Windsor 2.0 ..

主要的 C# DI/IoC 框架如何比较?

冒着踏入圣战领域的风险,这些流行的 DI/IoC 框架的优缺点是什么,容易被认为是最好的吗?..: Ninject 团结 Castle.Windsor Autofac 结构图 是否还有其他我没有在此处列出的 C# DI/IoC 框架? 在我的用例上下文中,我正在构建一个客户端 WPF 应用程序和一个 WCF/SQL 服务基础结构、易用性(尤其是在清晰简洁的语法方面)、一致 ..

为什么我需要一个 IoC 容器而不是简单的 DI 代码?

我一直在使用 依赖注入 (DI) 一段时间,在构造函数、属性或方法.我从未觉得需要使用 控制反转 (IoC) 容器.然而,我读得越多,我就越感到来自社区的使用 IoC 容器的压力. 我使用过 .NET 容器,例如 StructureMap、NInject、Unity 和 Funq.我仍然看不到 IoC 容器将如何使我的代码受益/改进. 我也害怕在工作中开始使用容器,因为我的许多同事会看 ..

为什么不使用 IoC 容器来解决实体/业务对象的依赖关系?

我了解 DI 背后的概念,但我只是在学习不同的 IoC 容器可以做什么.似乎大多数人都提倡使用 IoC 容器来连接无状态服务,但是将它们用于像实体这样的有状态对象呢? 无论是对还是错,我通常用行为填充我的实体,即使该行为需要外部类.示例: 公共类订单:IOrder{私人字符串_ShipAddress;私人 IShipQuoter _ShipQuoter;公共订单(IOrderData Or ..

是否有用于初始化通过 DI 容器创建的对象的模式

我正在尝试让 Unity 管理我的对象的创建,并且我想要一些直到运行时才知道的初始化参数: 目前我能想到的唯一方法是在接口上有一个 Init 方法. interface IMyIntf {无效初始化(字符串运行时间参数);字符串运行时间参数 { 获取;}} 然后(在 Unity 中)使用它,我会这样做: var IMyIntf = unityContainer.Resolve();IM ..

Prism.Forms 哪个 IoC 容器更好

我正在开始一个新的 Prism.Forms 项目,我想知道各种 IoC containers (Autofac、Dryloc、Ninject 或 Unity) 最好继续使用. 我不知道这是否属实,但我在某处读到 Unity 不再处于积极开发状态,因为这和 MEF 是唯一的 IoC 容器我用过我不确定它是否适合. 与此同时,我对 Autofac、Dryloc 或 Ninject 知之甚少 ..

在 Laravel 服务提供者中使用 auth

每当我尝试使用 \Auth::User() 我得到非对象属性,因为我的 Auth::guest() 在我使用它们时返回 true服务提供商 使用 Illuminate\Contracts\View\View;使用 Illuminate\Support\ServiceProvider;使用 Illuminate\Contracts\View\Factory;使用应用\关系;使用 App\User; ..
发布时间:2021-12-18 21:55:23 其他开发