Wah*_*tar -1 architecture design-patterns dependency-injection onion-architecture
我要建立新的"企业解决方案"
所以我决定使用" 洋葱架构 ",因为我想要灵活的架构.
但我对"依赖性解决方案"的关注是新手.
据我所知,我应该将Factories" Implementations "放在这个Layer中,这个层引用了所有其他层.
然后,当DependencyResolution层和UI层中的FactoryImplementation没有引用"DependencyResolution Layer" 时,我想知道如何在" UI层 " 中创建IFactory的新实例
编辑::
感谢Erik先生
但是当我看到许多这些链接之后,当我想将"注册"实现"注册"到他们的"接口"时,我仍然有问题,因为我在UI项目中不能做这样的事情:
kernel.Bind<ITaxCalculator>()
.To<TaxCalculator>()
.WithConstructorArgument("rate", .2M);
Run Code Online (Sandbox Code Playgroud)
因为UI Project无法访问TaxCalculator"实现".
我认为最好的解决方案是使用Dependency Container(也称为IOC容器)来解析您的引用,例如Castle Windsor或Unity(如果您使用的是.NET).它们使您能够配置依赖项解析,而无需引用UI层中的实际实现.
编辑:一些链接: