inversion-of-control相关内容
我有一个问题,我将标记这个主观,因为我认为这会演变为更多的讨论.我希望有一些好主意或发人深省的想法.对于这个冗长的问题,我深表歉意,但您需要了解具体情况. 问题基本上是: 您如何处理与IoC容器相关的具体类型?具体来说,由谁负责处置它们,如果需要处置,那么这些知识如何传播到调用代码中? 您要求它们是IDisposposable的吗?如果不是,那么该代码是否适用于未来,还是不能使用
..
我正在尝试使用Guice,而我来自Spring. 我想知道@Inject是否等于Spring中的@Autowired,是否可以像在Spring中一样使用它在Web应用程序中使用. 想象一下,我有一个依赖于服务的Facade,在Spring中我可以为该服务定义一个bean,然后在服务器启动时就可以在Facade中获取该服务的实例. class FacadeImpl{ @Auto
..
我正在尝试通过键解析实例与SimpleInjector. 就我而言,密钥是来自配置文件的字符串,我需要工厂根据字符串返回正确的类型. 我使用了类似于上面链接中所述的解决方案,但对其进行了少许更改,因此实例可以提供自己的密钥. (会有许多实现IFoo的类,所以我想用它们的键自动注册它们) 这是完整的工作示例(.NET Core控制台应用程序): (为了简化可读性,我将其简短表示,因
..
使用此示例和此实现我正在尝试创建一个解决方案,以将 UnitOfWork 类与单个存储库,因为它们违反了开放式封闭原则,因为每次添加新存储库时,都必须修改 UnitOfWork 类。我正在使用Unity作为IoC容器来连接依赖项。 我的问题是自动连接 UnitOfWork , IDbContext 和存储库( IEmployeeRepository 和 ICustomerRepository
..
我有以下具有几个依赖项的基类: 公共抽象类ViewModel { 私有只读ILoggingService loggingService; public ViewModel( ILoggingService loggingService, ...) { this.loggingService = loggingService; ... } } 在我
..
我有一个应用程序,现在我正在尝试使用Spring对其进行重构,并且在使用 new 创建对象时遇到了问题,但是我不知道如何解决它。 这是现实: 我有一个 Controller ,需要 CommandService 实例,而 CommandService 需要 RoomService 创建 AbstractRoom 实例并放入 RoomService 实例的哈希图中。 我有两种 Ab
..
我正在为自定义IOC容器编写一个基本的c#类,其中包含两个Public方法Register()&我下面的代码是Resolve()和一个私有方法CreateInstance() 。 在下面的代码中, CreateInstance()方法,我在不使用泛型的情况下获取语法错误来解决依赖关系(注释行),我可以解决依赖关系,并且工作正常,而在将泛型用于默认类型转换时,我遇到了语法错误 有人
..
我对模式感到困惑: ViewModelLocator , ServiceLocator ,依赖注入。 最新结论如下: ViewModelLocator 。连接 View 和 ViewModel 的地方。 public ViewModelLocator() { SimpleIoc.Default.Register(); SimpleIoc.
..
我的问题基于Microsoft的 InventorySampleApp 。 ServiceLocator 包含注册服务和ViewModel的方法 Configure()。使用方法 GetService(),我们可以获得它。例如, ProductView.cs : ViewModel = ServiceLocator.Current。 GetService
..
我一直试图让Spring在我的应用程序中注入一个@Autowired依赖项,但无济于事。我在做什么错? 我创建了一个名为TimeService的bean。 package com.foxbomb.springtest.domain.time;它的工作是将当前时间返回给任何询问的人。 import java.util.Date; import org.springframe
..
让我有两个非常基本的对象,例如: 公共类View { public View (控制器控制器) { //在此处使用控制器公开的模型 } } 公共类控制器 { 私有只读IView视图; public Controller() { this.view = new View(this); } public Controller(View v) { th
..
我已经花了很多时间阅读这些文章(以及许多其他文章): 马克·塞曼-纯DI 马克·塞曼-何时使用DI容器 标记Seemann-充满信心地构成对象图 马克·西曼(Mark Seemann)-不要呼叫容器;它会叫你 马克·塞曼-了解合成根 ,而我仍在努力围绕DI以及IoC容器的“连接依赖项”和“自动接线”功能的概念。 我想我了解依赖注入和控制反转的理论,并且从2
..
我有一个具有会话属性的会话管理器类。我需要将其作为构造函数参数传递给另一个类。我应该如何为温莎城堡配置安装程序? 例如 公共接口ISessionManager { ISession CurrentSession {get;组; } } 公共类SessionManager:ISessionManager { private ISession _session; p
..
我正在尝试将TenantProvider注入DbContext 公共类AppDbContext:IdentityDbContext { public int? _tenantId; 公共ITenantProvider _tenantProvider; public AppDbContext(
..
假设我有一个接口IDependencyResolver: 公共接口IDependencyResolver { T Resolve() T:班级; object Resolve(Type source); } 以及使用SimpleInjector的实现: 公共类SIDependencyResolver:IDependencyResolver { pr
..
昨天,在一次采访中,我被问及春季的DI和IoC是什么。我的答复是: 当 class(A)扩展抽象 class(B)或实现 interface(B) 或创建 class( B)中的任何类别,那么据说 A 是 ,具体取决于 B 。注入此依赖关系,即以 构造函数或setter方法注入对象称为DI,在此过程中,对对象的创建 控制进入“外部世界”,如XML 配置,这种反转控制的是IoC。 D
..
我是WP 7的新手。出于依赖关系注入的目的,我希望遵循使用WinForms应用程序获得的实践。因此,我想在组成根目录下构建我的应用程序图。 解决方案 我喜欢的模式如“图案和图片”建议的那样实践团队是: 将 ViewModelLocator 类添加到您的资源 App.xaml 和 x:Key =“ ViewModelLocator” ,并为该类添加每个ViewModel的属性 在应用
..
我正在构建一个具有表示层(PL),业务逻辑层(BLL)和数据访问层(DAL)的3层体系结构。 传统的3层体系结构逻辑指出BLL应该充当PL和DAL之间的调解人。 PL甚至不应该知道有数据库,而DAL甚至不应该知道有BLL或PL。 以上实现将在以下三个不同的物理项目之间产生以下依赖关系 PL 项目-> BLL DLL的引用 BLL 项目-> DAL DLL的引用 DAL 项目->无
..
我想在我的Spring XML上下文中定义一个具有类型为类列表的属性的bean:即 List>。 classes 我如何向该bean发送许多类,例如java.lang.String和java.lang.Integer? 该列表不需要可重用,即我不会在另一个bean中引用它。 解决方案 使用Spring,最简单的方法通常适用于.....
..
我正在尝试使用Spring Framework IoC容器创建 类的实例 ThreadPoolExecutor.CallerRunsPolicy 。在Java中,我会这样做... import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor;
..