当前位置: 首页 > 编程语言 > C#

如何更好地解决工厂创建的对象中的依赖关系?分享

时间:2023-04-10 12:56:21 C#

如何更好地解决工厂创建对象中的依赖关系?例如,我有依赖项:publicinterfaceIMyDependency{}publicclassMyDependency:IMyDependency{}注入MyClass对象:publicinterfaceIMyInterface{}publicclassMyClass:IMyInterface{[Dependency]publicIMyDependencyMyDependency{get;放;我还有一个工厂,它创建MyClass实例:publicinterfaceIFactory{IMyInterfaceCreateMyObject();}publicclassFactory:IFactory{publicIMyInterfaceCreateMyObject(){//创建前的一些检查//for.ex检查操作系统是否支持这种类型的对象,如果不支持则抛出异常returnnewMyClass();}}...container.RegisterType();如果我使用“new”关键字创建MyClass的实例,我的依赖项将不会解析。或者我应该逃避工厂并将逻辑移到MyClass的构造函数中吗?在像container.RegisterType()这样的容器中注册之后?对于独立于您正在创建的实例的依赖项,将它们注入工厂并存储它们直到需要。对于独立于创建上下文但需要为每个创建的实例重新创建的依赖项,将工厂注入工厂并存储它们。对于依赖于创建上下文的依赖项,将它们传递给工厂的Create方法。以上就是C#学习教程:如何更好的解决工厂创建的对象中的依赖关系?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: