【发布时间】:2010-07-15 08:40:56
【问题描述】:
我是第一次尝试使用结构图。我以前使用过 ioc 容器,但总是使用 xml 配置。由于结构图通过代码使用配置(我知道它也可以在 xml 中完成,但大多数示例都是通过代码使用配置)我遇到了一些参考问题。
让我们使用以下示例(不是真实示例):
3 个程序集。
数据层 业务层 服务
BusinessLayer 引用 DataLayer(因此它可以检索数据) DataLayer 和 BusinessLayer 都引用了 Services 程序集,因为它包含用于记录的代码。
我希望 Log 组件由 StructureMap 管理,以便我可以更改日志组件。
在业务层中,还有一些由 StructureMap 提供服务的组件。
所以我的问题是现在。
我在哪里放置结构图配置?
如果我将它放在 BusinessLayer 中,DataLayer 将无法使用 Log 组件(因为对业务层的引用将在循环引用中解析)。我不能把它放在Services项目中,因为BusinessLayer中还有一些组件(并且业务层有对服务程序集的引用)。
我希望我已经对自己进行了充分的解释。这里的主要问题是 StructureMap 在配置之前需要对程序集的引用,我发现使用它有点问题。我做错了吗?
【问题讨论】:
标签: c# dependency-injection inversion-of-control structuremap