我正在尝试理解Microsoft.practices.Unity。
所以,我有这个解决方案:
我希望使用Unity将web层与逻辑层分离,并使用DI将逻辑层与数据分离。
我在我的web项目中创建了一个unity.config文件,因为我想从配置文件中控制注册,而不是在二进制代码中。这对我来说是可以的。我正在使用Unity.MVC4。
但是,如此一来,我只解决了从web到业务层的依赖注入。我如何才能为业务到数据层做同样的事情?
我已经看到了一些web示例,但我仍然感到困惑,因为没有任何示例向我展示通过web层到数据层的过程,以了解如何实现Unity DI。
我想看一个简单的例子,一个n层的解决方案,使用Unity实现完全依赖注入。
发布于 2013-09-06 15:09:51
禁止使用配置文件注册依赖项。这是脆弱的和容易出错的,而且你只能做你可以在代码中做的事情的一部分。如果你这样做是因为你想防止依赖引用,请注意,通过使用配置文件,相同的引用仍然适用,但现在它是隐式的,并且没有编译时检查来帮助你。
这并不意味着您永远不应该使用配置文件,但您应该只使用它来配置在部署过程中或部署后可能实际更改的内容。在此期间,大多数内容都不应该更改,因为大多数更改必须由开发人员进行更改,要么手动启动应用程序,要么使用单元测试以自动方式进行更改。
两者都不会出于同样的原因将类名放在配置文件中,因为它很脆弱。使用配置开关通常要好得多,因为这允许您将类名移动到代码中(使用switch case语句或if语句来根据配置设置更改配置),并启用编译时检查。
对于剩下的问题,Tuzo的link可能会为您提供足够的信息。
https://stackoverflow.com/questions/18648324
复制相似问题