当前位置:首页 > 服务端 > 【设计模式】设计模式简述

【设计模式】设计模式简述

2022年11月06日 21:48:16服务端8

设计模式的六大原则

开闭原则、里氏代换原则、依赖倒转原则、单一职责原则、接口隔离原则、迪米特法则

  • 开闭原则(Open Close Principle)
    应该对于扩展是开放的,对修改是关闭的。在程序需要进行拓展的时候,不能去修改原有的代码,实现热插拔的效果。通常需要制定需要使用接口和抽象类

好处:为了使程序的扩展性好,易于维护和升级

 参考:https://www.cnblogs.com/az4215/p/11489712.html

 

  • 里氏代换原则(Liskov Substitution Principle LSP)
    子类型必须能够替换掉他们的父类型。如果子类继承自父类,那么子类就应该能以父类的身份出现。简单说,如果一个软件实体使用的是一个父类的话,那么就肯定适用其子类,并且该软件实体察觉不到父类对象和子类对象的区别。

举个例子,有个很厉害的老木匠,周边的邻居都找他做家具,老木匠还有个大徒弟,不但学全了老木匠的本事还青出于蓝而胜于蓝。后来老木匠干不动了,所以每次有人找上门来都是老木匠接活儿,大徒弟去做家具,而对做家具的人来说,他们并不关心具体谁做的,只要能拿到家具就好。

参考:https://blog.csdn.net/icerain_520/article/details/77611271
优点缺点:https://baijiahao.baidu.com/s?id=1590530739538094942&wfr=spider&for=pc

 

  • 依赖倒置原则
    抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。在语言中表现,模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的

好处: 可以减少类间的耦合性,提高系统的稳定性,减少并行开放引起的风险,提高代码的可读性和可维护性。并行开发就要解决模块之间的项目依赖关系

参考:https://blog.csdn.net/u013862108/article/details/79054620

                                      【设计模式】设计模式简述 _ JavaClub全栈架构师技术笔记

                                                                             没有进行依赖倒置的图

 

                                                  【设计模式】设计模式简述 _ JavaClub全栈架构师技术笔记

                                                                                          依赖倒置的图

  • 单一职责原则
    一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言,应该只有一个引起它变化的原因。
    单一职责原则是实现高内聚、低耦合的指导方针,它是最简单但又最难运用的原则
    单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小

好处:减少代码的冗余,同时做到易修改。职责单一,可以复用。

参考:https://www.cnblogs.com/Gang-Bryant/p/10761077.html

  • 接口隔离原则
    客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。想把接口用好,关键在于隔离。接口中没有多余的方法,所以这里的隔离是指和多余的方法隔离。

好处:避免接口污染,提高灵活性(一个类是可以同时实现多个接口的,所以将一个臃肿的接口分割为若干个小接口,通过小接口的不同组合可以满足更多的需求),提供定制服务

参考:https://www.jianshu.com/p/4ce9db323348

  • 迪米特法则
    一个对象应该对其他对象有最少的了解。迪米特法则的意义在于降低类之间的耦合。只和直接的朋友交流。只出现在方法体内部的类就不是直接的朋友,如果一个类和不是直接的朋友进行交流,就属于违反迪米特法则。说白了就是两个点:
  • 暴露该暴露的接口
  • 只和直接朋友进行交互,直接朋友就是全局变量或者方法的入参

好处:面向对象编程中,类之间的相互调用是很常见的,我们经常需要在一个类中访问另一个类的成员或方法。问题是,如果类经常被调用的话,我们就要考虑到代码的可维护性和复用性。程序中代码的耦合过高可不是一件好事

参考:
https://segmentfault.com/a/1190000017779269

总体来说设计模式分为三大类:

创建型模式 - 共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式 - 共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式 - 共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

 

作者:xing_827
来源链接:https://blog.csdn.net/xing_827/article/details/107340333

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68259.html

标签: 设计模式
分享给朋友:

“【设计模式】设计模式简述” 的相关文章

什么是设计模式?详解设计模式概念及几大原则

什么是设计模式?详解设计模式概念及几大原则

​ hello,各位小伙伴大家好,又到了一篇一次的斗图环节,天气冷了,各位注意保暖。 今天我们来讲讲设计模式,在我们学习Java的时候,时常听到单例模式,多例模式,还有使用Spring的时候,默认采用的单例模式,你所听到的“饱汉式”、“饿汉式”,都是对设计模式的形容。那么什么是设计模式呢?...

常用设计模式系列(二)—工厂方法模式

常用设计模式系列(二)—工厂方法模式

一、前言 hello各位小伙伴好,天气贼冷,多冻手,但是还是不能降低我编写设计模式讲解的热情。设计模式的魅力就像那冬天里的一把火,怎么也浇不灭; 上期讲解了简单工厂模式的应用场景及优缺点分析,今天开始我们的设计模式第二弹——工厂方法模式,其实工厂方法模式类似于简单工厂模式的一个升级...

炒冷饭系列:设计模式 装饰模式

炒冷饭系列:设计模式 装饰模式

炒冷饭系列:设计模式 装饰模式 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 钢琴弹得好是艺术,文章写的好也是艺术。 一、什么是装...

java多线程12种设计模式

1、Single Threaded Execution Pattern(单线程执行模式) 2、Immutable Pattern(不可变模式) 3、Guarded Suspension Pattern(防卫暂停模式) 4、Balking Pattern(止步模式...

SpringMVC的设计模式是什么?

SpringMVC的设计模式是什么?

SpringMVC设计模式是一种通用的软件编程思想。 在SpringMVC设计模式中认为, 任何软件都可以分为三部分组成: 1.控制程序流转的控制器(Controller) 2.封装数据处理数据的模型(Model) 3.负责展示数据的视图(view)...

Java中几种常用的设计模式

在Java的学习中比较常见的几种设计模式 尚学堂-马士兵老师大致讲的,总结一下 1.单例模式(单态模式): 在程序运行过程中只有几个类或是只有一个类,达到“单例模式”。无论外部类调用多少次“构造”,内存中只是分配一次实例化...

Java 高并发第二阶段实战---高并发设计模式,内存模型,CPU一致性协议,volatile关键字剖析

     第二阶段的课程主要围绕着Volatile关键字,内存重排序,Happen-Before,Cpu一致性协议,高并发下的设计模式以及类加载器几个大的方面展开,下面是内容详细信息,本教程是本人录制,下载地址为 高并发设计模式 汪文...

java设计模式--单例模式

单例模式 单例模式在Java设计模式中属于非常重要的一种模式,意在保证一个类只有唯一一个实例,并且向整个系统提供一个访问它的全局访问点。   单例模式的特点 单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。...

常用设计模式

常用设计模式

设计模式 从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。 设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联和组合关系的充分理解。 正确使用设计模式具有一下优点: 1、...

设计模式六大原则

设计模式六大原则

2019年2月26日19:41:21 设计模式六大原则 为什么会有六大原则 有言曰,“无规矩不成方圆”,有“规”才能画“圆”,那设计模式要遵循的六大原则要画一个什么的“圆”呢? 这里要从面向对象编程说起,从面向过程编程到面向对象编程是软件设计的一大步,封装、继承...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。