0

我正在构建一个具有表示层 (PL)、业务逻辑层 (BLL) 和数据访问层 (DAL) 的 3 层架构。

我想在 3 个不同的物理项目中实现它,如下所示:

  • PL 项目 -> BLL Dll 参考
  • BLL 项目 -> DAL 参考
  • Dll DAL 项目 -> 无参考

通过定义接口和通过构造函数注入使用 DI 在 BLL 和 DAL 之间应用 IOC 的概念将改变架构如下

  • PL 项目 -> BLL Dll参考,DAL Dll 参考(用于具体类型的 DI 到 BLL 对象的构造函数)
  • BLL 项目 -> DAL 参考
  • DAL 项目 -> 无参考

理想情况下,我希望实现以下目标,同时通过 DI 维护我的 IOC。

  • PL 项目 -> BLL Dll 参考
  • BLL 项目 -> DAL Dll 参考
  • DAL 项目 -> 无参考

这怎么可能?

注意:我不想使用 IOC 容器。

4

1 回答 1

0

您可以将 DI 的引导分为两部分。在 PL 项目中完成的第一项工作是为在 BL 中实现接口并由 PL 使用的对象设置 IOC 配置。第二部分,在 BL 项目中编写,将为在 DAL 中实现接口并由 BL 使用的对象设置 IOC 配置。然后,您需要让您的 PL 项目设置引导程序调用 BL 项目的引导程序,并进行自己的配置。如果您这样做,则不必在 PL 中引用 DAL。

于 2012-11-26T10:13:42.940 回答