`
terryfeng
  • 浏览: 507287 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

依赖倒转(依赖倒置)原则

阅读更多

1. 抽象不应该依赖细节,细节应该依赖于抽象(接口,抽象类)。

2. 针对接口编程,不要对实现编程。

3. 高层模块不依赖底层模块,两者都应该依赖抽象。

image

4. 依赖倒置含义在于,相互之间不依赖,除了约定好的接口实现,大家都可以灵活自如,子类实现接口进行“策略工厂”实现,高层模块通过使用接口来实现“开闭依赖倒置”。

5.依赖倒置其实可以说是面向对象设计的标志,用何种方式实现不重要,重要在于如何考虑针对抽象编程,而不是针对细节编程,即程序中所有的依赖关系都是终止于抽象类或者接口,那就是面向对象的设计,反之就是面向过程化的设计。

 

里氏代换原则

image

1.意思就是从需求行来说,通过父类(接口,抽象类)继承,子类实现父类中所有的非 Private 接口,来编程和定义交互,如果子类的需求有任何一个无法不符合父类的所有Public成员,则不能继承这个父类,因为子类将无法替换掉父类,当然现在的编程工具都是强制实现父类的。

2. 只有当子类可以替换掉父类,软件单位的功能不受限制时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。

3.由于子类型的可替换性,才使得使用父类类型的模块在无需修改的情况下就可以扩展。

分享到:
评论

相关推荐

    依赖倒置原则Demo

    依赖倒置原则(Dependency Inversion Principle,DIP)是面向对象设计的基本原则之一,由罗伯特·C·马丁(Robert C. Martin)提出。这个原则指出,高层次的模块不应该依赖于低层次的模块,两者都应该依赖其抽象;...

    依赖倒转原则

    依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules...

    设计模式(五)之依赖倒转原则.zip

    依赖倒置原则的包含如下的三层含义: 1. 高层模块不应该依赖低层模块,两者都应该依赖其抽象 2. 抽象不应该依赖细节 3. 细节应该依赖抽象 就是面向接口编程,采用依赖倒置原则可以减少类间的耦合性...

    详解Java设计模式编程中的依赖倒置原则

    依赖倒置原则是面向对象设计的基本原则之一,它在Java设计模式中占据着重要的地位。这一原则强调的是软件实体(如类、模块、函数等)应当依赖于抽象,而不是具体的实现。具体来说,这意味着高层次的模块不应该直接...

    对文件反转、倒置的工具,解决CTF和生活中的文件处理问题

    `inc`文件夹可能包含一些库或模块,这些可能是`FileReverse-Tools.py`所依赖的,用于扩展其功能或提供特定的数据处理算法。例如,它可能包含了用于处理特定文件格式(如图片、音频、文本)的库。 `pic`文件夹可能...

    Java软件开发实战 Java基础与案例开发详解 7-4 软件的可维护与复用设计原则 共12页.pdf

    例如,开闭原则帮助我们构建易于扩展的系统,而依赖倒置原则则指导我们如何正确地使用抽象来降低系统间的耦合度。每一条原则都有其特定的应用场景和解决的问题,合理地应用这些原则可以使软件设计更加健壮、灵活。

    Java面试题及答案-共66道.docx

    3. 依赖倒转原则(Dependence Inversion Principle):依赖倒置原则的核心思想是面向接口编程。 4. 接口隔离原则(Interface Segregation Principle):使用多个隔离的接口,比使用单个接口要好。 5. 迪米特法则...

    java版五子棋源码-java_design_pattern:图解Java设计模式

    依赖倒转(倒置)原则 里氏替换原则 开闭原则 迪米特法则 合成复用原则 1.1.单一职责原则 1.1.1.基本介绍 一个类只应负责一项职责。 1.1.2.应用实例 package com.atguigu.principle.singleresponsibility; public ...

    java简易版开心农场源码-Design-Patterns:23种设计模式

    3)依赖倒转(倒置)原则 4)里氏替换原则 5)开闭原则 6)迪米特法则 7)合成复用原则 单一职责原则 ​ 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时...

    java简易版开心农场源码-Design-Patterns:「设计模式」

    3)依赖倒转(倒置)原则 4)里氏替换原则 5)开闭原则 6)迪米特法则 7)合成复用原则 单一职责原则 ​ 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。当职责1需求变更而改变A时...

    软件系统设计准则规范说明书模板

    3. **倒转约束**:与依赖倒置设计准则相关,强调依赖方向的正确性。 4. **聚合约束**:涉及到如何合理地组织和聚合类或组件,以满足单一职责设计准则的要求。 5. **数据业务约束**:关注数据处理和业务逻辑的设计...

    java设计模式整理笔记

    本文档概述了设计模式的基本概念,包括UML图、基本原则(如开闭原则、依赖倒置原则等)、接口和抽象类的使用,以及各种设计模式的应用场景。通过深入学习这些内容,开发者可以更好地理解和应用设计模式,提高软件...

    设计模式总复习题.doc

    2. 设计模式通常遵循的原原则包括单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则和迪米特法则。 3. Gang of Four(GoF)提出的策略包括识别设计模式的上下文、理解模式的目标、选择合适的模式、...

    设计模式面试题 14 道.pdf

    3. 依赖倒转原则(Dependence Inversion Principle):依赖倒置原则的核心思想是面向接口编程。 4. 接口隔离原则(Interface Segregation Principle):这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。...

    Java 66 道面试题及答案.docx

    3. 依赖倒转原则(Dependence Inversion Principle):依赖倒置原则的核心思想是面向接口编程。 4. 接口隔离原则(Interface Segregation Principle):使用多个隔离的接口,比使用单个接口要好。 5. 迪米特法则...

    易语言让屏幕倒过来

    总结来说,利用易语言实现屏幕倒置,主要依赖于对Windows API的理解和易语言的调用方式。通过获取和释放设备上下文,以及使用`StretchBlt`函数,我们可以轻松实现这一特殊效果。这不仅展示了易语言的强大功能,也...

    用C++实现,将一句话里的单词进行倒置的方法详解

    本篇文章将详细介绍如何使用C++实现这一功能,同时尽量避免依赖标准库中的特定函数。 首先,我们要明确任务:输入一句包含空格分隔的单词,例如"I come from Tianjin.",输出倒置后的结果"tianjin. from come I"。...

    Spring单词.docx

    1. inversion(倒置;反向;倒转):在Java中, inversion指的是对某个对象或数据的反转操作。 2. dependency(属国;从属;从属物;依赖):在Java中,dependency指的是一个对象或模块对另一个对象或模块的依赖...

    传智播客扫地僧视频讲义源码

    15_类型兼容性原则遇上还是函数重写_面向对象新需求_传智扫地僧 16_多态案例_多态的意义_多态成立的三个条件_传智扫地僧 17_多态案例丰富多彩和多态的理论知识 18_虚析构函数 19_重载重写重定义_问题抛出 20_重载...

    信号与系统中(常见简答题) (2).docx

    38. **g(1/t)**:是时间倒转的门函数,形状类似一个倒置的门函数。 39. **Fourier变换存在**:通过窗函数或截断等方法限制信号的增长。 40. **周期矩形脉冲有效带宽**:大致等于脉冲宽度的倒数。匹配原则是系统带宽...

Global site tag (gtag.js) - Google Analytics