草庐IT

c# - IoC 和 ASP.NET MVC,一切从哪里开始?

我看到“IoC”和“DI”在ASP.NETMVC中几乎无处不在。虽然我很清楚……“有点”这些是什么,但它是那些几乎模棱两可、无定形的float概念之一,这些概念似乎已经过去了,或者我只是没有找对地方。随着即将发布的ASP.NETMVC3.0,我看到了更多。如此之多,以至于感觉它是我只是不知道的编程的整个部分。我曾尝试寻找有关这些主题的书籍,但我发现的大部分内容似乎都做出了很多假设(Ruby的历史,了解它是什么但不知道如何使用它,等等)。我只是提前简单地询问。什么是IoC,我为什么要关心它?从初级程序员的角度来看,是否有任何体面的网站涵盖这一点?假设我对此一无所知。假设我只知道C#。我阅

c# - IoC 工厂 : Pros and contras for Interface versus Delegates

任何需要运行时值来构造特定依赖项的地方,抽象工厂都是解决方案。我的问题是:为什么许多消息来源更喜欢FactoryInterface而不是FactoryDe​​legate来实现这种模式?这两种解决方案的优缺点是什么?下面是一个例子来理解我的意思如果您有一个服务需要一个具有特定上下文的存储库,那么服务构造函数需要一个工厂来创建或访问其存储库。常见的解决方案是像这样创建一个RepositoryFactoryInterface。publicIRepositoryFactory{IRepositoryCreate(ContextInformationcontext);}publicclassM

c# - 编写您自己的 IOC 容器

有人用C#编写了自己的IOC容器吗?还是绝大多数人都使用各种框架,例如Spring。各自的优缺点是什么? 最佳答案 自己编写是一个很好的练习,但最终您可能想要使用现有的容器。你可以从这个one开始在15行代码中。 关于c#-编写您自己的IOC容器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/386535/

c# - 类库中的 IoC。在哪里引导

我正在使用一个可以被其他组件重用的类库。在这个类库中,我使用unity进行依赖注入(inject)。对于这个类库,我创建了一个测试项目。调用者还会得到一个测试项目。我不确定的一件事是绑定(bind)的位置。我应该将其合并到类库中还是应该从调用应用程序中执行此操作? 最佳答案 我知道已经选择了一个答案,但我认为Unity的一部分被忽略了。由于这是一个特定的Unity问题,我认为我指出了实现IUnityContainerExtensionConfigurator的UnityContainerExtension基类。这是API库的扩展,使

c# - 如何在没有全局静态服务(非服务定位器解决方案)的情况下实现 IOC?

我们想为IOC使用Unity。我所看到的是有一个全局静态服务(让我们称之为IOCService)的实现,它持有对Unity容器的引用,它注册了所有接口(interface)/类组合,每个类都询问该对象:给我一个实现对于Ithis或IThat。我经常看到这种模式不好的回应,因为它导致所有类都依赖于IOCService(而不是Unity容器,因为它只在IOCService内部已知)。但我不经常看到的是:替代方法是什么?米歇尔编辑:发现全局静态服务称为服务定位器,将其添加到标题中。 最佳答案 另一种方法是仅在最高应用程序级别拥有容器的单个

c# - CaSTLe Windsor - 开放通用接口(interface)的 IoC 注册?

CaSTLeWindsor是否允许注册开放通用接口(interface),或者我是否需要分别注册每个可能的类型化实例?示例-下面的类型T,Z在编译时失败,除非我单独指定T,Z为强类型。container.Register(Component.For>().ImplementedBy>().LifeStyle.PerWebRequest); 最佳答案 它被称为开放通用,是的,Windsor确实支持它。container.Register(Component.For(typeof(IAdapterFactory)).Implemente

dependency-injection - IoC和DI到底有什么区别

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:InversionofControl我总是在相同的上下文中阅读IoC(控制反转)和DI(依赖注入(inject))。IoC和DI到底有什么区别?IoC与DI有何不同?

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

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion冒着进入圣战领土的风险,这些流行的DI/IoC框架有哪些优点和缺点,可以轻易地被认为是最好的吗?..:注入(inject)团结温莎城堡汽车制造商结构图是否还有其他我未在此处列出的C#DI/IoC框架?在我的用例上下文中,我正在构建一个客户端WPF应用程序和一个WCF/SQL服务基础结构,易用性(尤其是在清晰简洁的语法方面)、一致的文档、良好的社区支持和性能是我选择的所有重要因素。更新:引用的资源和重复问题

c++ - SPI_IOC_MESSAGE(N) 宏让我适应

我无法让我正在处理的SPI程序正常运行,这似乎是SPI_IOC_MESSAGE(N)宏的一些问题。这是不起作用的示例代码(ioctl返回EINVAL(22)):std::vectortr;//Handthetransmission(s)offtotheSPIdriverif(tr.size()>0){intret=ioctl(fd,SPI_IOC_MESSAGE(tr.size()),tr.data());if(ret我现在的测试代码正在创建一个长度为1的vector。如果我明确地将代码更改为:intret=ioctl(fd,SPI_IOC_MESSAGE(1),tr.data());

php - 传递 IoC 容器的正确方法

我正在研究DI和IoC;使用Pimple目前。假设我在执行流程的早期就定义了IoC$container=newInjection\Container();$container['config']=function($c){returnnewConfig($c['loader']);};$container['request']=function($c){returnnewRequest($c['config']);};...还有一个路由器类call_user_func_array//$class='Dog',$method='woof',$this->args=['foo','bar'