开闭原则建议您应该选择具有可扩展行为的事物,这样,当您需要它们进行新事物时就不必修改其源代码。
如果操作正确,则控制反转同时是提供这种可扩展性的最简单,最强大的方法。
这是 最简单的 方法,因为当您为IoC定义可注入接口时,您仅捕获需求。配置可扩展行为的其他方法要求您考虑消费者可能想要的所有内容。
这是 最强大的
方法,因为代码可以执行任何操作,并且提供IoC扩展点允许使用者执行您未曾想到的所有事情,只要它们满足您的界面定义的要求即可。同样,这是因为注入的接口仅捕获您自己的需求。
因此,OCP和IoC的联系非常简单:OCP是目标,而IoC是实现目标的手段。



