gpt4 book ai didi

c# - 洋葱架构和在 DI 容器中注册依赖项

转载 作者:行者123 更新时间:2023-11-30 17:15:45 25 4
gpt4 key购买 nike

我一直在阅读 Onion 架构,我有一个我认为是关于如何为 DI 容器安排程序集依赖项以便能够连接所有内容的简单问题。

假设一个非常简单的解决方案具有以下结构:

UI => BL <= DAL

所以 UI 和 DAL 引用了 BL,但彼此不知道。

还假设 BL 有一个名为 IDatabaseService 的接口(interface),它由 DALDatabaseService 在 DAL 中实现。

容器将(大概)在 UI 的入口点进行配置。由于 UI 不知道 DAL,它如何注册 IDatabaseService 以解析为 DALDatabaseService?

最佳答案

大多数情况下,这是通过让容器知道 DAL(通过配置)并将 DAL 的程序集粘贴在与 UI 相同的目录或其他众所周知的位置(GAC 等)中来完成的。在 Spring.NET 中,您将在 spring 配置文件中添加 DAL 的类型。在 CaSTLe Windsor 中,您可以在每个具有要在 IoC 容器中注册的类型的 DLL 中包含一个实现 IWindsorInstaller 的类,并在 UI 中告诉容器去查找特定目录中的所有组件。

关于c# - 洋葱架构和在 DI 容器中注册依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com