依赖倒置原则的个人理解
自顶向下编程时,高层依赖的服务直接从下一层调取使用,下一层存在什么样的服务,上层就会根据其需求选取对应的服务,这样使得代码的耦合度变得较高,上层服务要适应下层服务,下层服务的变动直接影响上层的运作,不利于需求的变更。依赖倒置是将上层所需服务抽象成接口,上层调用服务接口,而接口的实现由下层去实现,这样上层下层都依赖于中间抽象出来的接口,上层的需决定了下层的实现,而不是再根据下层提供的服务而进行选择,这时需求变动时我们也只需要填加新的接口实现即可。上层由被动变为了主动。
自顶向下编程时,高层依赖的服务直接从下一层调取使用,下一层存在什么样的服务,上层就会根据其需求选取对应的服务,这样使得代码的耦合度变得较高,上层服务要适应下层服务,下层服务的变动直接影响上层的运作,不利于需求的变更。依赖倒置是将上层所需服务抽象成接口,上层调用服务接口,而接口的实现由下层去实现,这样上层下层都依赖于中间抽象出来的接口,上层的需决定了下层的实现,而不是再根据下层提供的服务而进行选择,这时需求变动时我们也只需要填加新的接口实现即可。上层由被动变为了主动。
评论