依赖倒置抽象的概念:<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、记住一点,面向接口编程,就抓住了依赖倒置原则的核心
"①首诉责任制 ②投诉不申辩原则 ③现场处理原则 ④乘客满意原则⑤乘客投诉 “四不放过”原则 ⑥投诉回复及时性原则<br>题目纠错 0<br>发布<br><img><br>创建题目<br>创建题库<br><img><br>题目信息:<br>创建者:<br>刷刷题用户<br>编辑次数:<br>难易度:<br><img><br><img><br><img><br><img><br><img><br>错误率:<br>【单选题】One major reason for Germany""s high unemployment and the evident weakness of business investment is the nature of the tax system, which tends to discourage both individual effort and investment. Nomin...<br>【单选题】注册会计师甲、乙、丙投资设立A会计师事务所,该会计师事务所的形式为特殊的普通合伙企业。后甲在对B上市公司的年度会计报告进行审计的过程中,因接受B上市公司的贿赂出具了虚假的审计报告,经人民法院判决承担赔偿责任。根据《合伙企业法》的规定,下列对该债务责任的承担表述正确的是 ____ 。"