当前位置:  开发笔记 > 编程语言 > 正文

不了解在系统架构中创建IoC容器的位置

如何解决《不了解在系统架构中创建IoC容器的位置》经验,为你挑选了1个好方法。

假设我有以下4个.net程序集:

    Winforms UI

    商业逻辑

    SQL Server数据访问(实现IRepository)

    通用接口(IRepository等的定义)

我的业务逻辑(2)使用构造函数依赖注入通过IRepository(在4中定义)调用数据访问层(3).但是,当我停止业务对象时,我需要传入一个实际的存储库.我通过在业务逻辑层中使用单例类返回当前正在使用的实现IRepository的具体对象来实现此目的.我得出的结论是,这是一件坏事,因为我的业务逻辑层现在必须引用3和4.

我想我需要一个IoC容器,但问题是我在哪里创建/放置它似乎无论我在哪里创建它(1-UI)?还需要持有对3(SQL Server数据访问)的引用.我不仅仅是解决问题而不是实现真正的脱钩吗?

我是否在UI中创建IoC容器.或者通过另一个新组件暴露它.

(我正在使用C#,.net 3.5和AutoFac)

谢谢.



1> Rinat Abdull..:

通常应在主机项目(应用程序入口点)中创建IoC容器.对于作为exe项目的Windows.Forms应用程序.

通常在简单的解决方案(10个项目下)中,只有主机项目应该引用IoC库.

PS:使用Autofac IoC构建.NET应用程序

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有