依赖倒置抽象的概念:<br>1、高层模块不应该依赖底层模块,两者都应该依赖其抽象。<br>2、抽象不应该依赖细节。<br>3、细节应该依赖抽象。<br>依赖倒置的具体的表现:<br>1、模块间的依赖通过抽象发生,实现类之间不直接发生依赖关系。(依赖关系通过接口或者抽象类)<br>2、接口或者抽象类不依赖于实现类。<br>3、实现类依赖接口 或者 抽象类<br>上面提到的可以用一句话概括,面向接口编程(面向对象设计的精髓)。<br>优点:<br>采用依赖倒置原则,可以减少类之间的耦合性。提高系统的稳定性,提高可读性和可维护性。<br>当需求的变更时,最终只需要修改高层的业务场景类(也就是调用的地方)<br>依赖倒置对并行开发的影响:<br>1、只要定义两者之间的接口(或者抽象类),就可以独立开发了<br>2、项目单元测试也可以独立地运行,就可以测试驱动开发(这是依赖倒置的最高应用场景)<br>抽象更深入的理解:<br>1、抽象是对实现的约束,对实现者而言,是一种契约(约束作用)<br>2、约束自己也约束别人,保证双方按照契约(抽象)就行开发<br>依赖倒置中依赖的三种方法:<br>1、构造函数,传递依赖对象 例如:public Driver( ICar_car){}<br>2、通过setter 方法 例如:public void setCar(ICar_car){}<br>3、接口声明 例如:public class Benz implements ICar{}<br>践行依赖倒置原则:<br>1、每个类尽量都有接口 或者 抽象类,或者抽象类和接口两者并存<br>2、变量的表面类型尽量是接口或者是抽象类<br>3、任何类不应该从具体类派生<br>4、尽量不要覆写基类已经实现的方法<br>5、结合里氏替换原则使用<br>通俗讲:<br>1、接口负责定义公共的属性和方法,并且声明与其他对象的依赖关系<br>2、抽象类负责公共构造部分的实现<br>3、实现类实现业务逻辑,并且适当进行细化扩展<br>总结:<br>1、变量的表面类型尽量是接口或者是抽象类<br>2、每个类尽量都有接口 或者 抽象类,或者抽象类和接口两者并存<br>3、记住一点,面向接口编程,就抓住了依赖倒置原则的核心
●word2007文档的空格加下划线:<br>1、打开word2007左上角的“Office按钮”,并打开“word选项”。<br>2、选择“高级”选项,将最下面“兼容性选项”设置为“所有文档”。<br>3、展开“版式选项”,勾选“为尾部空格添加下划线”复选框,点击确定保存设置。