最近在了解red5,由于其使用了spring framework,也大致了解了一下,其中提到到了一些设计模式,这些名词不熟悉,不过对其使用已经比较熟悉,看到一篇不错的文章。节选其中的一部分内容如下:
虽然“依赖倒置”和“控制反转”在设计层面上都是消解模块耦合的
有效方法,也都是试图令具体的、易变的模块依赖于抽象的、稳定的模块的基本原则,但二者在使用语境和关注点上存在差异:“依赖倒置”强调的是对于传统的、
源于面向过程设计思想的层次概念的“倒置”,而“控制反转”强调的是对程序流程控制权的反转;“依赖倒置”的使用范围更为宽泛,既可用于对程序流程的描述
(如流程的主从和层次关系),也可用于描述其他拥有概念层次的设计模型(如服务组件与客户组件、核心模块与外围应用等),而“控制反转”则仅适用于描述流
程控制权的场合(如算法流程或业务流程的控制权)。
依赖注入的核心思想是:
1. 抽象接口隔离了使用者和实现之间的依赖关系,但创建具体实现类的实例对象仍会造成对于具体实现的依赖。
2. 采用依赖注入可以消除这种创建依赖性。使用依赖注入后,某些类完全是基于抽象接口编写而成的,这可以最大限度地适应需求的变化。
没有评论:
发表评论