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

一、单一功能(single responsibility)

  单一功能原则,也叫单一职责原则。简单来说,就是一个类应该只有一个引起它变化的原因,其中心思想就是面向对象设计原则中的高内聚,低耦合。当分析有一个以上的原因引起某个类的需要修改,就应该尽量根据引发类修改的原因将该类拆分为多个类。

二、开闭原则(open/closed)

  对扩展开放,对变化闭合。开闭原则指导的是对于已经完成测试并上线的类,如果需求发生变化,应该通过其他方法去扩展其功能而不是在原有功能类上进行修改。对于很多大型软件的向下兼容其实就是遵守了这个原则。

三、里氏替换(Liskovsubsititution)

  里氏替换,也叫里氏代换,有一种描述是任何应用父类的地方都可以用子类替换,其本质是指在继承关系中子类可以扩展父类的方法,但不应修改父类的方法。在面向对象开发语言中,通过特定关键字,子类可以重写使得方法在子类调用中表现出特定的逻辑,这就违背了里氏替换。里氏替换其实就是开闭原则的一个应用场景。

四、接口隔离(interface segregation)

  在设计上应将接口尽量拆分,使得客户端调用接口类时,类中只包含客户感兴趣的接口。

五、依赖反转(dependency inversion)

  也叫依赖倒置,高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象,通俗的将就是面向接口编程。

六、迪米特法则(Law of Demeter,LoD)(补充)

  也叫最少知识原则(Least Knowledge Principle,LKP),如果两个实体无须直接通信,则不要直接通信。

(0)

相关推荐

  • 设计模式6大原则详解

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

  • 掌握设计原则,你就是光(25个问题,你会几个)

    25个问题,你会几个 如何理解单一职责原则? 如何判断职责是否足够单一? 职责是否设计得越单一越好? 什么是开闭原则? 修改代码就一定意味着违反开闭原则吗? 怎样的代码改动才被定义为扩展或者说是修改? ...

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

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

  • "设计模式我学过呀,就是没用过"

    回复"000"获取大量电子书 写在前面 在开发中,不使用设计模式也不是不可以,但是用好设计模式能帮忙我们更好的去解决实际问题. 其实,我们天天都在和设计模式打交道,很多人却完全不知 ...

  • 面向对象六大原则

    这篇文章主要讲的是面向对象设计中,应该遵循的六大原则.只有掌握了这些原则,才能更好的理解设计模式. 我们接下来要介绍以下6个内容. 单一职责原则--SRP 开闭原则--OCP 里氏替换原则--LSP ...

  • 【资料】23种设计模式和六大设计原则

    程序IT圈 www.cxyquan.com 优秀的程序猿技术公众号 1 设计模式的六大原则 ☛开闭原则 对扩展开放,对修改关闭.在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果.简 ...

  • 设计模式——六大设计原则

    文章目录 一.单一职责原则 二.里式替换原则 三.依赖倒置原则 四.接口隔离原则 五.迪米特法则 六.开闭原则 一.单一职责原则 单一职责原则简称 SRP,他想表达的就是字面意思,一个类只承担一个职责 ...

  • 面向对象设计原则

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

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

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

  • 面向对象设计的原则

    开放封闭原则(The Open Closed Principle) ** 一个软件实体如类.模块和函数应该对扩展开放,对修改代码关闭.即软件实体应尽量在不修改原有代码的情况下进行扩展** [===== ...

  • 设计原则-SOLID

    SOLID六大设计原则 设计模式的六大原则有: Single Responsibility Principle:单一职责原则 Open Closed Principle:开闭原则 Liskov Sub ...

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

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

  • 成都奶茶店加盟多少钱,奶茶店设计遵守哪些原则?

    要想奶茶店既突出特色,又有其应有的风格,店主在装修前就要做好奶茶店的设计,想好自己要走的品牌风格.豆吉走的是国风茶饮路线,在门店风格上整体在强调一种新中式风格独特的氛围. 奶茶店的装修并不是无迹可寻的 ...

  • 软装设计4大原则,80%的设计师都不知道!

    软装设计是什么?软装设计就是在商业空间.居住空间中所有可移动的元素.这些元素包括家具.装饰画.陶瓷.花艺绿植.窗帘布艺.灯饰.其它装饰摆件等等.  文末附火爆全网的软装设计元素搭配手册  并且由于近两 ...

  • 高档幼儿园设计门厅三原则

    一所高档幼儿园的设计,首先要考虑的就是空间,空间为幼儿活动提供必需的场所,而在各个空间中,门厅最先受到家长的注意,因此幼儿园设计门厅的时候一定要重视,今天我们就来了解一下高档幼儿园设计门厅的三原则吧! ...

  • 工业产品怎么设计,设计方法与原则教给你!

    工业产品设计是一门学问,关于设计的学问,需要讲究方法和原则,常见的工业产品设计原则有需求原则.信息原则.创新原则.收敛原则.收敛原则.系统原则等,作为产品设计从业者需要掌握多种设计方法,下面就和小编一 ...