00_设计模式6大原则

【六大原则总览】

1.单一职责原则

2.里氏替换原则

3.依赖导致原则

4.接口隔离原则

5.迪米特法则

6.开闭原则

【原则一:单一职责原则】

  英文全称:Single Responsibility Principle,简称SRP。

  要求一个接口或类只有一个原因引起变化,就是一个接口或类只有一个原则,它就负责一件事情。

[ 好处 ]

* 类的复杂性降低,实现什么职责都有清晰明确的定义;

* 可读性提高,复杂性降低。

* 可维护性提高。

* 变更引起的风险降低。如果接口的定义职责做的很好,一个接口修改只对相应的实现类有影响,对其它接口没有影响,这对系统的扩展性和可维护性非常大的帮助。

【原则二:里氏替换原则】

首先分析一下继承的优点缺点;

[ 继承的优点 ]

* 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。

* 提高了代码的重用性。

* 子类可以形似父类,但又异于父类。

* 提高代码的扩展性,许多开源框架的扩展接口都是通过继承父类来完成的。

* 提高产品或项目的开放性。

[ 继承的缺点 ]

* 继承是侵入性的。只要继承,子类就必须拥有父类的所有属性和方法。

* 降低代码的灵活性,子类必须拥有父类的属性和方法,给子类添加了约束。

* 增强了代码的耦合性,当父类的常量、变量或方法修改时,就要考虑子类的修改。

[ 里氏替换原则的定义 ]

只要父类能出现的地方,子类就可以穿线,而且替换给子类就不会出现任何的错误或异常,使用者不需要知道是子类还是父类,但是反过来是不可以的,有子类出现的地方,父类未必就可以。

时间: 2024-10-11 01:53:07

00_设计模式6大原则的相关文章

设计模式--6大原则--单一职责原则

单一职责原则(Single Responsibility Principle),简称SRP. 定义: There should never be more than one reason for a class to change. 应该有且仅有一个原因引起类的变更. 有时候,开发人员设计接口的时候会有些问题,比如用户的属性和用户的行为被放在一个接口中声明.这就造成了业务对象和业务逻辑被放在了一起,这样就造成了这个接口有两种职责,接口职责不明确,按照SRP的定义就违背了接口的单一职责原则了. 下

设计模式--6大原则--开闭原则

开闭原则(Open Closed Principle) 开闭原则的核心是:对扩展开放,对修改关闭 白话意思就是我们改变一个软件时(比如扩展其他功能),应该通过扩展的方式来达到软件的改变,而不应爱修改原有代码来实现变化 开闭原则算是前5中原则的一个抽象总结,前五种是开闭原则的一些具体实现,所以如果使用开闭原则,其实有点虚,因为它没有一个固定的模式,但是最终保证的是提高程序的复用性.可维护性等要求 要使用这一原则还需要结合着它的思想"对扩展开放,对修改关闭"与其他的五大设计原则根据经验来开

设计模式6大原则

单一职责原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则 开闭原则 设计模式六大原则(1):单一职责原则 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 问题由来:类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障. 解决方案:遵循单一职责原则.分别建立两个类T1.T2,使T1完成职责P1功能,T2完成职责P2功能.这样,当修改类T1时,不会使职责P2发生故障风险:同理,当修

设计模式7大原则

面向对象设计原则 概述 对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一.在面向对象设计中,可维护性的复用是以设计原则为基础的.每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平. 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则.面向对象设计原则也是我们用于评价一个设计模式的

设计模式 设计模式7大原则

来源:九江网站优化 一.单一职责原则 编码时,无论是方法上,还是类上都应该遵守单一职责原则. 注意事项和细节: 降低类的复杂度,一个类只负责一项职责: 提高类的可读性,可维护性: 降低变更引起风险: 通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则:只有类中方法数量足够少,可以在方法级别保持单一职责原则. 二.接口隔离原则 业务端开发时不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小接口上. 三.依赖倒转原则 高层模块不应该依赖低层模块,二者

设计模式6大原则(5)-得墨忒耳

迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其它对象有尽可能少的了解,不和陌生人说话.英文简写为: LoD. 迪米特法则能够简单说成:talk only to your immediate friends. 对于面向OOD来说,又被解释为以下几种方式:一个软件实体应当尽可能少的与其它实体发生相互作用.每个软件单位对其它的单位都仅仅有最少的知识,并且局限于那些与本单位密切相关的软件单位. 迪米特

设计模式-6大原则

1,单一职责原则 每个类都只负责单一的功能,切不可太多,并且一个类应当尽量的把一个功能做到极致. 2, 里氏替换原则 一个子类应该可以替换掉父类并且可以正常工作 3,接口隔离原则 一个接口拥有的行为应该尽可能的小 4,依赖倒置原则 高层模块不该依赖于低层模块,二者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象. 5,迪米特原则 一个类应该尽量不要知道其他类太多的东西,不要和陌生的类有太多接触. 6, 开-闭原则 对修改关闭,对扩展开放

设计模式--6大原则应用场景通俗版(1)

1> 单一职责原则 这是我们设计程序最常见的设计原则了,比如用户信息,分属性和行为,基础信息属归属性类,执行归行为类或接口,在实际项目中大多也就只有这个地方能用到. 2>里氏替换原则 尽量规避继承关系带来的负面重构影响 几个注意地方: 2.1>类中调用其他类时,尽可能使用其他类的接口或父类,这也是我们经常性的习惯. 2.2>如果子类不能完整实现父类方法或父类的方法在子类发生了二义性,那么断开父子继承关系,改用依赖.聚集.组合的关联关系,通俗点来讲就是子类和父类属性或行为有可能出现了

设计模式之6大原则(5)-迪米特法则

迪米特法则(Law of Demeter)又叫作最少知识原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话.英文简写为: LoD. 迪米特法则可以简单说成:talk only to your immediate friends. 对于面向OOD来说,又被解释为下面几种方式:一个软件实体应当尽可能少的与其他实体发生相互作用.每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位. 迪米特