前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >00_设计模式6大原则

00_设计模式6大原则

作者头像
allsmallpig
发布2021-02-25 11:30:36
2300
发布2021-02-25 11:30:36
举报
文章被收录于专栏:allsmallpi博客

转载自https://www.cnblogs.com/HigginCui/p/6195318.html

【六大原则总览】

1.单一职责原则

2.里氏替换原则

3.依赖导致原则

4.接口隔离原则

5.迪米特法则

6.开闭原则

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

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

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

[ 好处 ] 

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

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

* 可维护性提高。

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

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

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

[ 继承的优点 ]

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

* 提高了代码的重用性。

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

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

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

[ 继承的缺点 ]

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

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

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

[ 里氏替换原则的定义 ]

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

[ 里氏替换原则的四层含义 ]

* 子类必须实现父类的方法。

* 子类必须有自己的个性

* 覆盖或实现或父类的方法时输入参数可以被放大。

* 覆写或实现父类的方法时输出结果可以被缩小。

【原则三:依赖倒置原则】

[ 在java语言中的表现 ] 

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

* 接口或抽象类不依赖其实现类。

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

【原则四:接口隔离原则】

接口隔离原则要求接口中的方法尽量少。(单一职责要求类和接口职责单一,注重的是职责,是业务逻辑上的划分)

【原则五:迪米特法则】

也称为最少知识原则,一个对象应该对其它对象由最少的了解,即一个类应该对自己需要耦合或调用的类知道的最少。

【原则六:开闭原则】

软件实体,应该对扩展开放,对修改关闭,含义就是一个原件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/06/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档