策略模式的依赖倒置和控制反转具体应用
举几个例子说明下依赖倒置和控制反转的使用!
举几个例子说明下依赖倒置和控制反转的使用!
2016-08-10
首先我觉得你要清晰几个概念:
紧耦合:
首先在 page 类中与 UserStrategy 的实例,以及策略的具体实现来达到策略的具体实现,这样是不是 page 与 UserStrategy 紧密相关,也就是说 如果 UserStrategy 的实现修改了,例如:去掉了 showAd() 方法。page 自然需要做相应修改,这就叫做 紧耦合(依赖性太强)。
依赖倒置和控制翻转:
page 类里不需要 UserStrategy 的具体实现,只需要知道 page 场景下需要 UserStrategy 的策略,具体策略下实现那些方法,不需要知道。这样 page 与 UserStrategy 是离散的、低耦合的。这样代码的就更加稳定,可维护,以拓展。
明白了这几个概念,我想你应该知道为什么我们需要依赖倒置和控制翻转了。
设计模式不要为了用而用,而是应该明白为什么要用才去用
举报