【发布时间】:2010-11-24 16:18:34
【问题描述】:
我看到很多文章都在说 IoC 和 DI 有多么出色,却没有提到为什么它不那么出色,因为它会使代码变得更复杂。我还看到 IoC 不应该是代码的核心部分,而更多的是用于库和插件。文章通常很少提及这两种模式如何使代码变得更复杂,但没有太多关于细节的介绍。那是我的问题 - 您具体不应该在哪些地方使用这些模式?
这是一个不错的主题:What is Inversion of Control?。如果你再往下看,有一篇关于拼写检查器的帖子和另一篇关于如果 IoC 只有一个拼写检查器的话,它可能不是很好用的帖子。作为一般准则,是否应该不使用 IoC,因为我曾经只有一个具体的接口类?意思是,我有 IMyClass。然后只有实现 IMyClass 的具体 MyClassA。为什么我需要 IoC?
如果我有 MyClassA、MyClassB 和 MyClassC,它们都实现了 IMyClass,那么它们可能是 IoC 的良好候选者,对吗?
来自同一个帖子,有谁知道这篇文章的意思:
- 控制反转 = 婚姻
- IOC 容器 = 妻子
【问题讨论】:
-
如果你还没看过,我也推荐Martin Fowler的IoC/DI文章:martinfowler.com/articles/injection.html
-
我读过,对我的问题没用。
-
也许婚姻/妻子的类比是“妻子是婚姻的一种具体实现”? :) 有各种 IOC 容器,但控制反转是一个概念
标签: design-patterns dependency-injection inversion-of-control methodology