`

六大设计原则快速记忆SOLID

 
阅读更多

常见的面向对象设计的原则,可以简化为SOLID原则,坚固slidi的软件需要遵循的原则。

1、单一职责原则SRP(Single Responsibility Principle)

     定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

2、开放-关闭原则OCP(Open-Close Principle)

     定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

3、里氏替换原则LSP(Liskov Substitution Priciple)

     通俗的定义:所有引用基类的地方必须能透明地使用其子类的对象。

   更通俗的定义:子类可以扩展父类的功能,但不能改变父类原有的功能。 

    四层含义

  里氏替换原则包含以下4层含义:

  • 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。

  • 子类中可以增加自己特有的方法。

  • 当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。

  • 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。

4、依赖倒置原则DIP(Dependence Inversion Principle)

      模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产    生的;

       接口或抽象类不依赖于实现类; 

       实现类依赖接口或抽象类。

5、接口隔离原则ISP(Interface Segregation Principle)

      使用多个专门的接口比使用单一的总接口要好。

       一个类对另外一个类的依赖性应当是建立在最小的接口上的。
       一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个 臃肿的大接口,这是对角色和接口的污染。

6、最少知识原则LKP(Least Knowledge Principle)

      迪米特法则(Law of Demeter)又叫作最少知道原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD.

分享到:
评论

相关推荐

    六大设计原则,一些小例子(通俗易懂)

    这六个主要的设计原则,也被称为SOLID原则,是面向对象编程中的基石,它们可以帮助我们构建更加灵活、可读性强和易于维护的代码。下面将详细阐述这六大设计原则及其重要性,并通过一些简单易懂的例子来帮助理解。 1...

    SolidWorks设计库

    其中,“SolidWorks设计库”是设计师们常用的工具,它为用户提供了丰富的预设组件和模型,极大地提高了设计效率。本文将深入探讨SolidWorks设计库的功能、应用以及如何有效利用它进行产品设计。 一、设计库概述 ...

    Solidworks模板及设计库

    例如,“Solidworks模板及设计库”可能包含了特定公司的标准设计规范,设计师可以快速选用,确保所有设计符合公司标准。 其次,Solidworks的设计库是另一大效率提升利器。设计库通常包含各种标准件、常用零件模型...

    solid原则讲解PPT

    solid原则讲解PPT,5大原则说明并使用c#代码进行基本演示

    SolidWorks课程设计

    在本"SolidWorks课程设计"项目中,我们将深入探讨SolidWorks这一强大的三维计算机辅助设计(CAD)软件。SolidWorks是一款广泛应用于机械工程、汽车制造、航空航天等领域的专业软件,它以其直观的用户界面和强大的...

    SolidWorks管道设计教程.pdf

    SolidWorks Piping是一款功能强大的管道设计软件,它通过自动化的设计流程、直观的操作界面以及丰富的装备数据库,极大地提升了管道设计工作的效率和质量。无论是对于初学者还是资深工程师来说,这款软件都能够提供...

    solidworks设计模板及设计库.zip

    solidworks设计模板及设计库.zip

    Solidworks机械设计.pdf

    在这些设计流程中,我们可以看到SolidWorks提供了许多有用的工具和功能,如旋转凸台/基体、圆周阵列、剪裁实体等,这些工具和功能可以帮助用户快速创建复杂的机械零件和装配体。 在实际设计中,我们需要根据实际...

    SolidEdge三维机械设计零件库

    总的来说,SolidEdge三维机械设计零件库是机械设计和制造行业不可或缺的工具,它提供了丰富的预设模型和高效的设计流程,帮助工程师快速实现创新设计并降低制造成本。无论是初学者还是经验丰富的设计师,都能从中...

    solidworks管道设计教程solidworks管道设计教程

    - **工业设备制造**: 在设计大型工业设备时,需要考虑管道与各种设备之间的连接,SolidWorks Piping可以帮助设计师快速准确地完成这些连接设计。 - **建筑给排水系统**: 对于建筑项目的给排水系统设计,SolidWorks ...

    SolidWorks钣金设计教程.pdf

    SolidWorks是一款广泛应用于机械设计领域的三维CAD软件,尤其在钣金设计方面表现出强大的功能。本教程专注于SolidWorks的钣金设计,旨在帮助用户掌握利用该软件创建和编辑钣金件的技巧。 首先,理解钣金设计的基础...

    SOLIDWORKS钣金设计实例精解 2013中文版.pdf

    根据提供的文件标题、描述以及标签信息,我们可以了解到这是一本关于使用SOLIDWORKS进行钣金设计的专业书籍——《SOLIDWORKS钣金设计实例精解 2013中文版》。虽然部分内容并未提供实际的技术细节或者示例,但从标题...

    SolidWorks+2021中文版基础设计教程借鉴.pdf

    SolidWorks 2021 中文版基础设计教程借鉴 ...本教程旨在帮助读者快速掌握 SolidWorks 2021 中文版的基础设计技能,为读者提供了 SolidWorks 的基础知识和操作指导,帮助读者快速入门 SolidWorks 软件。

    solidworks齿轮设计工具

    SolidWorks的参数化设计能力使得在设计过程中可以随时调整参数,模型会自动更新,极大地提高了设计效率。同时, GearTrax还提供了齿轮啮合分析功能,可以帮助用户预估齿轮传动的性能,包括接触质量、齿轮间隙、载荷...

    SolidWorks产品设计实例精解 2013中文.pdf

    根据提供的文件标题、描述以及标签信息,我们可以了解到这是一本关于SolidWorks软件的产品设计实例精解书籍,并且针对的是2013版本的SolidWorks。虽然提供的部分内容并未包含实际的知识点,但从标题和描述中我们可以...

    JR1428激光机设计图3d图可编辑-SOLIDWORKS零件图-SOLIDWORKS工程图-三维3D设计图

    JR1428激光机设计图3d图可编辑_SOLIDWORKS零件图_SOLIDWORKS工程图_三维3D设计图JR1428激光机设计图3d图可编辑_SOLIDWORKS零件图_SOLIDWORKS工程图_三维3D设计图JR1428激光机设计图3d图可编辑_SOLIDWORKS零件图_...

    面向对象设计的SOLID原则 .docx

    SOLID 原则是面向对象设计和编程(OOD&OOP)中几个重要编码原则的首字母缩写,分别是单一责任原则、开放封闭原则、里氏替换原则、依赖倒置原则和接口分离原则。这些原则是非常基础而且重要的面向对象设计原则,理解...

    六轴机械臂模型solidworks

    标题中的“六轴机械臂模型solidworks”表明这是一个关于使用SolidWorks软件设计的六轴工业机器人模型。SolidWorks是一款流行的三维计算机辅助设计(CAD)软件,广泛应用于机械工程、汽车制造、航空航天等领域,用于...

    专业的电气设计软件SolidWorks Electrical.pdf

    例如,项目管理器可以同时看到所有的项目,以及属性信息,同时可以将已有的项目打包备份,交流,或作为模板保存,在此后类似项目设计时可以直接调用此模板,进行修改编辑,快速完成新项目的建立。 SolidWorks ...

Global site tag (gtag.js) - Google Analytics