IOC/DI:注册混凝土类型代码气味?在我目前的项目中,我一直在努力解决这个问题。我遇到过我不(也不需要)实现任何特定接口的具体类型的情况。有时我想通过容器解析,因为类型已注册到单例生命周期;有时,该类型的构造函数参数是更大对象图的一部分,或者它本身已在单例生命周期中注册。当我输入这样的代码时,我总是觉得有点奇怪:Container.RegisterType();关于这是代码异味还是违反使用IOC容器的最佳实践的任何想法?IoC容器是一个控制反转容器,而不是抽象容器或实现容器的接口。将类映射到自身并让容器管理它们的生命周期是完全合法的。如果您的设计不需要使用接口,请不要强制使用它们。这样做有一种不必要的复杂性的设计味道。我将IoC容器视为类固醇工厂。并非每个工厂都是抽象工厂(例如单例)。因此,并非IoC容器中的每个注册都必须是抽象映射的实现。以上是C#学习教程:IOC/DI:registeredconcretetypecodesmell?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: