面向对象设计的原则


开放封闭原则(The Open Closed Principle)

** 一个软件实体如类、模块和函数应该对扩展开放,对修改代码关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展**

[========]

软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。如果不是调用实体的解耦,尽量不要去修改实体的内容,避免实体自己的逻辑调用出错


里氏替换原则(The Liskov Substitution Principle)

** 所有引用父类的地方必须能透明地使用其子类的对象**

[========]

简而言之,就是遵循父类的定义原则(参数及参数类型、返回值及其类型、 逻辑处理。。。)。当一个子类继承了父类,那么子类的一些表现最好和父类的一致,保证有引用父类的地方,引用该子类也不会报错。


依赖倒置原则(The Dependency Inversion Principle)

**高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
抽象不应该依赖于细节,细节应该依赖于抽象 **

[========]

这个和上面的开放封闭原则类似,高层模块模块不应该依赖底层模块,而是依赖于底层抽象出来的接口,剩下的有底层模块来完成,这个是需要底层模块开发出来时就考虑到的;而抽象出来的接口不要去关心具体实现的细节,但是细节应该依赖这个抽象的定义。比如,实现一个支付模块,对接支付的第三方有很多种,支付宝、微信、信用卡等。这时候如果开发了一个通用的支付对象,剩下的对接不同支付平台的工作交给高层模块来做。此时的高层模块不应该依赖底层的具体实现的细节,而是要实现底层抽象出来的接口;而抽象出来的接口不用关心具体是如何去对接不同的平台的,但是对应平台的细节应该要遵循接口的定义,如这里要你去对接支付平台,而你实现了去下载图片,这自然就是不行的


接口隔离原则(The Interface Segregation Principle)

使用多个专用的接口,而不是使用单一的总接口,即调用端不应该依赖那些它不需要的接口

[========]

当调用端去调用底层的模块,而底层的模块要求调用端必须实现它的所有抽象接口,但是,调用端去调用底层的模块不需要使用全部的抽象接口,这时候就会产生不必要的工作。接口隔离原则强调,调用端不应该依赖那些不需要的接口


单一职责原则(The Single Responsibility Principle)

不要存在多于一个导致类变更的原因。即一个类只负责一项职责

这个原则就是我们常说的解耦,将不同的功能让不同的模块来实现,当发生变动时只需要修改其中的某个模块即可


设计模式的分类

创建型模式:

工厂模式、抽象模式、创建者模式、原型模式、单例模式

结构型模式:

适配器模式、桥模式、组合模式、装饰模式、外观模式、享元模式、代理模式

行为型模式:

解释器模式、责任链模式、命令模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、访问者模式、模板方式模式

(0)

相关推荐

  • 设计模式(Design Patterns)的简单讲解

    模式的诞生与定义 模式(Pattern)起源于建筑业而非软件业(小本本记下来--) 模式之父--美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士; 模式 : -C ...

  • 设计模式6大原则详解

    设计模式六大原则: 面向对象语言开发过程中,推荐的一些指导性原则(并不是强制要求的) 1. 单一职责原则(Single Responsibility Principle) 2. 里氏替换原则(Lisk ...

  • 设计模式-6大设计原则

    单一职责原则(SRP:Single Responsibility Principle) 定义:应该有且仅有一个原因引起类的变更. 优点: 类的复杂性降低: 可读性提高: 可维护性提高: 变更引起的风险 ...

  • 重温设计模式系列(三)面向对象设计原则

    背景 面向对象基础知识,只是给了我们一个概念,如何更好的设计出良好的面向对象代码,需要有设计原则作为支持.设计原则是核心指导思想,在这些原则的基础上,经过不断的实践,抽象,提炼逐步产生了针对特定问题的 ...

  • 面向对象设计原则

    设计目标 设计可维护性高,可复用性强的软件.可维护性指的是软件能够被理解.修改.适用及扩展的难易程度,而可复用性指的是软件能够被重复使用的难易程度 设计原则分类 单一职责原则 定义 Single Re ...

  • 面向对象设计原则(SOLID原则)

    一.单一功能(single responsibility) 单一功能原则,也叫单一职责原则.简单来说,就是一个类应该只有一个引起它变化的原因,其中心思想就是面向对象设计原则中的高内聚,低耦合.当分析有 ...

  • 设计原则在面向对象设计中的演化

    软件系统的分析和设计已经走过3个阶段:面向过程.面向对象以及领域驱动的分析和设计. 在这个演进过程中,有些设计原则被赋予了新的含义,有些设计原则不太适用,有些新的设计原则诞生出来. 从面向对象设计的几 ...

  • 探针设计的原则是什么?

    探针设计的原则是什么?

  • 避免失去对公司的控制权,股权架构设计的原则你要看!

    侯其锋 · 2021-04-21 09:15 来源:红餐网 找到志同道合的人共同创业时,必然面临如何选择搭建团队.团队利益如何分配.公司如何治理等等一系列问题,而这些问题指向一个共同点--公司股权架构 ...

  • 正确认识施工后浇带和膨胀加强带,了解其用途及设计施工原则

    多数施工技术人员和设计人员对施工后浇带比较了解,但对膨胀加强带不太知道,其两者区别更模糊不清,以下为大家简单梳理一下. (一)后浇带 1. 定义:后浇带是在建筑施工中为防止现浇钢筋混凝土结构由于自身收 ...

  • 【修井】大修设计的原则及主要操作步骤

    油气物联 修井设计是修井准备和修井施工的重要依据.主要包括地质方案.工艺设计和施工设计.修井设计应由有资质的单位编写,并按程序履行审批手续.本章介绍了设计编写原则,设计编写主要内容及设计格式,让读者对 ...

  • 低压断路器的整定原则和设计选型原则分析(实用干货)

    低压断路器在低压配电系统中被广泛使用,今天小编就大家分享低压断路器的整定原则和设计选型原则分析,希望对广大电气设计师在选择和整定低压断路器时有所帮助. (1)低压断路器的整定原则: (2)低压断路器选 ...