7得票2回答
领域驱动设计:在不使用服务定位器的情况下从实体访问配置值

我有一个名为 User 的实体,它有一个名为 HasCompletedSecurity 的属性,用于指示该特定的 User 是否已回答系统要求的安全问题数量。系统要求的安全问题数量是可配置的,并且从配置文件中检索。如何让 User 类访问配置信息? 我目前有一个名为 IConfigurati...

7得票3回答
为什么Unity使用服务定位器?

我在几个使用Unity的asp.net mvc3教程中看到了这行代码。我认为服务定位器是一种反模式,不是最佳实践。这个服务定位器与定义的反模式不同吗?还是这行代码/实现被认为是不好的做法。 ServiceLocator.SetLocatorProvider(() => new Unit...

7得票2回答
在ConfigureServices中无法使用已注册的单例模式,否则它们将被实例化两次。

我有一个 .Net Core 项目,以下是注册多个 Singleton 的方式: public void ConfigureServices(IServiceCollection services) { services.AddMemoryCache(); services....

7得票2回答
SPI + JDK 9 + module-info.java

我正在尝试在JDK 9上使用SPI。整个示例在没有"module-info.java"的情况下在JDK 9上运行正常。但是,在添加了"module-info.java"之后,ServiceLocator无法找到实现类。我感到困惑,而且我在模块化的JDK 9项目中找不到可用的SPI示例。 因此...

7得票1回答
Swift中的服务定位器模式

我对Swift中灵活通用的服务定位器设计模式实现很感兴趣。 一个天真的方法可能是如下所示: // Services declaration protocol S1 { func f1() -> String } protocol S2 { func f2() -&...

7得票3回答
使用ServiceLocation而不是构造函数注入来避免编写大量工厂类是否有害?

现在我们使用DI/IOC,当我们需要向构造函数传递额外的参数时,我们使用一个工厂类。 public class EmailSender { internal EmailSender(string toEmail, string subject,String body, ILogge...

7得票2回答
MVC3、Ninject、MvcSiteMapProvider - 如何将依赖注入到覆盖的方法中

我有一个使用Ninject和MvcSiteMapProvider的MVC3应用程序。 我创建了这个类,MvcSiteMapProvider使用它来动态添加节点到我的站点地图中: public class PageNodeProvider : DynamicNodeProviderBase ...

7得票5回答
服务定位器 - 值得使用吗?

我们有一个庞大的解决方案(>100个项目),几乎每种类型都使用服务定位器(示例1)或我们自己的类型字典(示例2)进行实例化。 例如,我们有: IQuote quote = Registry.Resolve<IQuote>(); 或者 IQuote quote = Reg...

7得票1回答
如何在XML配置中声明Unity InjectionFactory

我正在将我们的Unity配置移动到web.config文件中。我卡在了如何将以下代码配置迁移到xml格式上: var container = new UnityContainer(); container.RegisterType<IPrincipal>(new Injectio...

7得票1回答
使用Ninject绑定默认实现,同时避免可怕的服务定位器反模式

使用Ninject(或任何其他IoC容器)创建一个默认绑定,以便在不存在适当的实现时使用此默认绑定,而不是在请求特定绑定时处理ActivationException,这是否可行或是个好主意? 我一直在使用Ninject的Factory和Conventions扩展项目,但我想知道它们是否掩盖了...