jjzjj

javascript - 为什么angularjs需要IoC/DI?

跟着这个问题https://stackoverflow.com/a/2465052/41948所以Python不需要IoC/DI,因为它已经是动态脚本语言了。Javascript也是一种动态脚本语言,为什么angularjsneedDI那么呢?是不是因为JSONDOM是静态的?有人可以给我一个最小的例子吗? 最佳答案 Angular中的依赖注入(inject)(DI)不是必要的决定。大多数其他JavaScript框架都没有内置它。(尽管看看Marionette,一个构建在Backbone.js之上的框架......它包括一个可选的D

go - ioc、接口(interface)和实现如何工作

我正在尝试找出GoLang中的接口(interface)。熟悉它在Java中的工作原理,即接口(interface)、实现允许模拟和完整实现。我对如何在Go中将事物联系在一起感到有点困惑。例如,我正在尝试实现AmazonProductAdvertisingAPI连接器。我已经创建了PAAPI接口(interface)以及另一个提供实现的文件。然后我有一个结构config。然后,我创建了一个带有实现PAAPI并基于config的方法签名的文件,即config实现了PAAPI。所有这些都发生在同一个包中。但是从外部的角度来看,我怎么能去实现PAAPI的模拟呢?一切都链接到config结构上

xml - 为什么 xml 在 IOC 容器中如此突出?

我正在尝试进入IOC容器,我注意到它们中有很多都在使用xml配置。谁能告诉我为什么许多新技术正在转向xml配置/编程模型(WCF、WPF、Spring.NET、Unity、Windsor)?似乎xml不是指定复杂设置的糟糕选择,最好在类型安全且我们有智能感知的代码中执行此操作。我知道有些人可能会觉得这有争议,但我真的很好奇为什么这些非常酷的先进技术依赖于xml。 最佳答案 我将我的Unity配置移动到XML只是出于一个原因-我可以更改配置而无需重新编译我的代码。这在某些情况下非常有用。

xml - IoC/依赖注入(inject) - 请解释代码与 XML

我基本上了解IoC框架的工作原理,但我不太明白基于代码的配置应该如何工作。通过XML,我了解如何将新程序集添加到已部署的应用程序,然后更改XML中的配置以包含它。如果应用程序已经部署(即以某种形式编译),那么如何在不重新编译的情况下更改代码?或者这就是人们所做的,只需更改代码中的配置并重新编译? 最佳答案 热交换依赖项并不是使用DI容器的唯一目标。依赖注入(inject)(DI)是帮助我们开发松耦合代码的原则。松散耦合仅意味着我们可以彼此独立地改变消费者和服务。我们如何在这个级别上没有解决这个问题。DI容器是有助于一起使用线路依赖项

c# - 将 IoC 容器引入遗留代码

我正在编写一个新的.NET库供我公司内部使用,它将通过依赖注入(inject)使用IoC。当然,如果我们使用IoC容器来解析实例,这个库将更容易使用。但是,将调用此库的代码目前不使用任何类型的依赖注入(inject),并且重构遗留代码以使用DI超出了我的项目范围。那么,在这个遗留代码中开始使用容器从我的新库中获取实例的最佳方法是什么?如果可能的话,我希望避免使用对我选择的任何IoC容器的硬引用来乱扔上述遗留代码。由于我是DI的新手,我们很可能会在某个时候改变我们想要使用哪个Container的想法。如果我用类似CommonServiceLocator的东西包裹我的容器CodePlex上

c# - AspIdentiy ApplicationUserManager 是静态的,如何扩展以使其参与我的 IoC 框架?

在新的ASPNETMVC应用程序中,您现在可以免费获得AspIdentity好东西。有一条无害的小线路“在此处插入您的电子邮件服务”。所以我做了:publicclassEmailService:IIdentityMessageService{privatestaticMy.Services.IEmailService_emailservice;publicEmailService(Insolvency.Services.IEmailServiceemailservice){_emailservice=emailservice;}publicTaskSendAsync(IdentityM

c# - 抽象单例背后的 IoC 容器——做错了吗?

一般来说,我喜欢让应用程序完全不了解IoC容器。但是我遇到了需要访问它的问题。为了消除痛苦,我使用了一个基本的单例。在你跑到山上或拔出霰弹枪之前,让我回顾一下我的解决方案。基本上,IoC单例绝对什么都不做,它只是委托(delegate)给一个必须传入的内部接口(interface)。我发现这使得使用单例的工作不那么痛苦。下面是IoC包装器:publicstaticclassIoC{privatestaticIDependencyResolverinner;publicstaticvoidInitWith(IDependencyResolvercontainer){inner=conta

c# - 具有 2 个实现相同接口(interface)的类的 IOC/DI

我对实现相同接口(interface)和依赖注入(inject)的2个类的场景感到困惑。publicinterfaceISomething{voidDoSomething();}publicclassSomethingA:ISomething{publicvoidDoSomething(){}}publicclassSomethingAB:ISomething{publicvoidDoSomething(){}}publicclassDifferent{privateISomethingThisSomething;publicDifferent(ISomethingSomething)

c# - ASP Web Api - IoC - 解析 HttpRequestMessage

我正在尝试使用ASP.NETWebAPI设置CaSTLeWindsor。我也在使用Hyprlinkr包(https://github.com/ploeh/Hyprlinkr),因此需要将HttpRequestMessage实例注入(inject)到我的Controller的依赖项之一中。我正在关注MarkSeemann的这篇文章-http://blog.ploeh.dk/2012/04/19/WiringHttpControllerContextWithCastleWindsor.aspx,但我发现虽然API运行,但当我调用它时,请求只是挂起。没有错误信息。就好像它在一个无限循环中。它

c# - IoC、Dll 引用和程序集扫描

虽然这个问题与StructureMap有关,但我的一般问题是:WhenwiringupcomponentswithanIoCcontainerincode(asopposedtoconfiguringviaxml)doyougenerallyneedexplicitproject/buildreferencestoallassemblies?为什么要分开组装?因为:"Abstractclassesresidinginaseparateassemblyfromtheirconcreteimplementationsareagreatwaytoachievesuchseparation."