C# 洋葱架构和在DI容器中注册依赖项
我一直在阅读洋葱架构,我有一个简单的问题,关于如何安排程序集依赖项,使DI容器能够连接所有内容 假设一个非常简单的解决方案具有以下结构:C# 洋葱架构和在DI容器中注册依赖项,c#,dependency-injection,inversion-of-control,onion-architecture,C#,Dependency Injection,Inversion Of Control,Onion Architecture,我一直在阅读洋葱架构,我有一个简单的问题,关于如何安排程序集依赖项,使DI容器能够连接所有内容 假设一个非常简单的解决方案具有以下结构: UI=>BL大多数情况下,这是通过让容器知道DAL(通过配置)并将DAL的程序集与UI或其他已知位置(GAC等)粘贴在同一目录中来完成的。在Spring.NET中,您需要在Spring配置文件中添加DAL的类型。在Castle Windsor中,您可以在每个DLL中包含一个实现IWindsorInstaller的类,该DLL具有要在IoC容器中注册的类型,并在
UI=>BL大多数情况下,这是通过让容器知道DAL(通过配置)并将DAL的程序集与UI或其他已知位置(GAC等)粘贴在同一目录中来完成的。在Spring.NET中,您需要在Spring配置文件中添加DAL的类型。在Castle Windsor中,您可以在每个DLL中包含一个实现IWindsorInstaller的类,该DLL具有要在IoC容器中注册的类型,并在UI中告诉容器查找某个目录中的所有组件。因此在Spring中,您必须使用XML配置才能连接起来?在温莎,根据上面的例子,DAL会有一个安装程序,可以在运行时在UI的入口点(app.xaml、global.asax等)找到它,这是正确的。对于spring.net:。对于Castle IoC(他们的文档乱七八糟,但我实际上更喜欢Castle):有趣而且有意义。在网上闲逛之后,我看到了一些文章,这些文章提倡使用程序集来解决依赖关系。我认为这将允许不必在每个项目中引用温莎(例如)。是的,这是一个完全可行(并且可能是可取的)的方法。