我了解 IoC 容器是什么,并且一直在阅读结构图。这项技术似乎很容易使用。我的问题是,使用 IoC 容器的适当粒度级别是多少?
我认为 IoC 的应用可能有以下级别:
- 打破所有对象之间的所有依赖关系——当然有点过分了。
- 打破所有主要对象(例如域对象、支持类和子系统内的组件)之间的依赖关系。
- 将 IoC 与 Facade 结合使用,用公共接口包装子系统(例如日志记录),然后打破对该接口的依赖。
我知道这个问题的答案是“取决于”,但是根据您的经验,那么答案取决于什么?项目规模是一个因素吗?
此外,IoC 在什么地方没有意义?
这个想法不是要打破域对象之间的依赖关系,而是要保护您的域免受外界影响。您的域对象应该与您正在解决的任何业务问题有关,而不是与数据库、日志记录、缓存、http 上下文、休息服务等有关...
本文讨论将职责从对象移到 IoC 容器中。
http://www.agileatwork.com/captcha-and-inversion-of-control/ http://www.agileatwork.com/captcha-and-inversion-of-control/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)