设计模式6+1大原则
1、开闭原则
定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
理解:当业务出现新需求时,尽量通过扩展了的方式来时实现修改,原来的代码能不动就不动,因为改动原来的代码可能会出现一些未知的情况
2.里氏代换原则
定义:所有引用基类的地方必须能够透明的使用其子类对象。(子类型能够替换掉它们的父类型)
理解:这是一种良好的规范,要求我们开发基础父类时,只可扩展父类,不可重写父类方法,(即子类直接替换父类也可以实现同样的效果),但是可以重载
重载时:入参时子类需要比父类范围大,返回时子类需要比小(只有这样,子类替换父类时,执行的还是父类方法)
eg:f.test(Map),c.test(HashMap);
f.test(new HashMap()) 执行父类方法
c.test(new HashMap()) 执行子类方法
3、依赖倒转原则
定义:
1、高层模块不应该依赖低层模块,两者都应该依赖于抽象(抽象类或接口)
2、抽象(抽象类或接口)不应该依赖于细节(具体实现类)
3、细节(具体实现类)应该依赖抽象
理解:调用方法的人永远只通过接口调用,不依赖具体实现。(低耦合,面向接口开发)
4、接口隔离原则
定义:建立单一接口,不要建立臃肿庞大的接口
理解:一个接口不要试图能实现太多功能,而是各个类建立专用的接口,这样才能更加灵活。但是也可以太多细化,这样会导致接口过多。
5、迪米特法则
定义:又叫最少知道原则,一个对象应该对其他对象有最少的了解,这个应该很好理解,就是降低各模块之间的耦合一个对象应该对其他对象有最少的了解,这个应该很好理解,就是降低各模块之间的耦合
理解:设计接口时,只暴露他人需要的接口,将其他接口隐藏,减少依赖关系,实现松耦合。
6、单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责,应该仅有一个引起它变化的原因
理解:单一职责的思想个人强调职责,接口隔离原则强调接口细化。这样做的好处有
1、降低类的复杂度
2、提高代码可读性
3、降低变更引起的风险
7、组合/聚合复用原则
定义:尽量使用组合/聚合的方式,而不是继承的方式来达到复用的目的
理解:组合/聚合方式的优点
1、黑箱复用,代码细节不为外部所知
2、可以不影响其他代码修改,灵活
组合/聚合方式的缺点:
1、可能需要管理较多的对象或者方法
继承的优点:
1、基类大部分功能直接继承到派生类,并且修改基类,派生类也会修改,方便
继承的缺点:
1、父类的所有方法都会暴露给子类,白箱复用。
2、父类修改时,子类也会修改,不够灵活。
转载于:https://www.cnblogs.com/jaxlove-it/p/9343118.html
设计模式6+1大原则相关推荐
- 23种设计模式及OOP7大原则
一. 23种Java设计模式介绍 概述 设计模式是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的.Java中设计模式(java design patterns)通常有23种.模式可以分 ...
- [Android设计模式之旅]——设计模式的6大原则
前言 已经很久没有写博客了,今天开始继续学习Android的23种设计模式,首先在学习设计模式之前我们得先了解设计模式的六大基本原则--单一SRP(单一指责原则).OCP(开闭原则).LSP(里氏替换 ...
- Java中的24种设计模式与7大原则
一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类. 2.生成器模式(Builder patte ...
- Java设计模式总结——6大设计原则
从今年的七月份开始学习设计模式到9月底,设计模式全部学完了,在学习期间,总共过了两篇:第一篇看完设计模式后,感觉只是脑子里面有印象但无法言语.于是决定在看一篇,到9月份第二篇设计模式总于看完了,这一篇 ...
- 设计模式之六大设计原则
文章目录 一.六大设计原则(实际有七个) 1.单一职责 2.里氏替换原则 3.依赖倒置原则 4.接口隔离原则 5.迪米特法则(最少知道原则) 6.开闭原则 7.合成复用原则 二.总结 一.六大设计原则 ...
- 【设计模式系列24】GoF23种设计模式总结及软件设计7大原则
设计模式总结及软件设计七大原则 设计模式系列总览 前言 软件设计7大原则 开闭原则(Open-Closed Principle,OCP) 里氏替换原则(Liskov Substitution Prin ...
- 设计模式6大原则-开闭原则
设计模式6大原则-开闭原则 定义:一个软件实体如类.模块和函数应该对扩展开放,对修改关闭. 开闭原则理念就是当需求改变时,希望在不改变原有代码的前提下,通过扩展模块.函数来满足新需求. 开闭原则是其他 ...
- 设计模式概述—6大设计原则
第一部分:6大设计原则 六大设计原则: 1)Single Responsibility Principle:单一职责原则 2)Open Closed Principle:开闭原则 3)Liskov S ...
- 云计算架构设计6大原则,你遵循了吗?
2006年,第一个云计算(Cloud Computing)产品诞生,云计算的概念也被提出,现在云计算几乎已经渗入所有的行业和应用场景中.我们不一定能直接感受到云计算对日常生活.工作.学习的影响,但作为 ...
最新文章
- android饼状图简书,Charts-饼状图
- 轻松入门模型转换和可视化
- 您不是专业测试人员的10个理由!
- java super父类的父类_合理使用父类的财富——Java中的super
- FIR数字滤波器设计——频率抽样法
- 用gojs写的流程图demo
- 贵州2021高考状元成绩查询,2021年贵州高考最高分多少分,历年贵州高考状元
- 类加载器ClassLoader的角色
- matplotlib绘制平滑曲线
- 你能说出 Kafka 这些原理吗?
- matlab脑电打码,matlab 脑电信号特征提取程序
- ajax教程初始模板,ajax实战入门模板
- WPS Excel表格安装宏插件
- springboot读取xml配置文件
- 用Python批量操作文件
- 从 ie10浏览器下Symbol 未定义的问题 探索vue项目如何兼容ie低版本浏览器(ie9, ie10, ie 11 )
- Luogu P3488 [POI2009]LYZ-Ice Skates
- Win10如何用cmd或者Powershell批量安装字体
- You-Get, Annie 视频下载器 一键安装脚本
- 银湖网更改手机号那极致糟糕的体验