网站首页 > 技术教程 正文
设计模式概念
设计模式是解决常见软件设计问题的经验总结,可以看成是一本代码设计宝典,帮助开发人员更好地完成软件设计工作。
分类
创建型
提供创建对象的机制,提升已有代码的灵活性和可复用性。
单例模式、工厂模式(工厂方法和抽象工厂)、建造者模式、原型模式
结构型
介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效
代理模式、桥接模式、装饰者模式、适配器模式、门面模式、组合模式、享元模式
行为型
负责对象间的高效沟通和职责传递委派
观察者模式、模板模式、策略模式、职责链模式、迭代器模式、状态模式、访问者模式、备忘录模式、命令模式、解释器模式、中介模式
设计模式原则
单一职责原则
一个类只负责一项职责,这样可以使得类更加可维护、可扩展、可重用。
举例:比如说一辆汽车的刹车踏板,它的作用就是让行进间的汽车停止的,如果现在这个刹车踏板的功能改成了,踩一半是油门,踩到底是刹车,就违反了单一职责,会容易出事故。
单一职责原则优点:
1、提高代码的可读性和可维护性:一个类只负责一个职责,代码更加清晰,更
容易理解和维护。
2、降低类的复杂度:一个类只负责一个职责,类的复杂度更低,更容易进行测试和调试。
3、降低代码的耦合度:当一个类只负责一个职责时,不同的职责可以分配到不同的类中,不同的类之间相互独立,从而降低了代码的耦合度。
4、提高代码的可复用性:一个类只负责一个职责,可以更容易的被其他模块复用。
5、便于扩展和维护:当需求变化时,如果每个类只负责一个职责,我们只需要修改相关的类即可,不需要修改其他的类,从而更容易进行扩展和维护。
开放封闭原则
软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。也就是说,我们应该通过添加新的代码来扩展软件的功能,而不是修改已有代码。
举例:我还是用汽车举例, 我是一个广东人,今年冬天我要开车去东北去东北吃雪,因为广东人好吃嘛,没吃过雪 想去长白山吃点新鲜的雪。东北雪很大,就需要给这个车的轮胎做防滑。 其实很简单只要给轮胎装上防滑链就可以了,这就属于是对轮胎的开放扩充。 在轮胎上面新增了防滑链,没有改变轮胎的原有功能。我们不能因为为了给轮胎做防滑,而把汽车引擎换掉了。
里氏替换原则
子类必须能够替换掉它们的父类。也就是说,在任何使用父类的地方,都应该能够使用子类来替代,而且程序不应该出现任何错误或异常。
里氏替换原则和多态的区别:
1)定义不同:
多态是面向对象编程的一大特性,也是面向对象编程语言的一种语法。它是一种代码实现的思路。
里氏替换是一种设计原则,用来指导继承关系中子类该如何设计。
2)作用范围不同:
里氏替换原则适用于继承关系中的父类和子类之间的关系。
多态是面向对象编程的一种基本特性,可应用于所有面向对象编程的语言中。
3)使用目的不同:
里氏替换原则的主要目的是确保使用继承时,派生类可以替换基类,并保证代码的正确性和一致性。
多态的主要目的是增加代码的灵活性和可扩展性,同时减少重复代码。
接口隔离原则
客户端不应该依赖它不需要的接口。也就是说,我们应该将不同的接口拆分成更小的、更具体的接口,从而避免客户端依赖于他们不需要的方法。这样可以降低接口的复杂性,提高系统的可维护性和可扩展性。
接口隔离原则的优点:
1、提高代码的灵活性和可维护性:接口隔离原则要求我们定义精简的接口,这样可以使得代码更加灵活和可维护,因为我们只需要实现我们真正需要的接口即可。
2、提高代码的可测试性:接口隔离原则可以使得代码更加容易进行测试和调试,因为我们可以只测试我们真正需要的接口。
3、降低模块之间的耦合度:当模块之间只依赖于真正需要的接口时,它们之间的耦合度更低,更容易进行组合和修改。
4、提高代码的可复用性:当接口精简清晰时,代码的可复用性也会提高,因为
我们可以更容易地将代码组合到不同的应用场景中。
5、提高代码的安全性:接口隔离原则可以避免一些意外的依赖关系,从而提高
代码的安全性。
接口隔离原则和单一职责原则的区别:
1)单一职责原则注重的是职责,而接口隔离原则注重的是对接口依赖的隔离。
2)单一职责原则主要是约束,它针对的是程序中的实现和细节;接口隔离原则主要是约束接口,主要针对抽象和程序整体框架的构建。
依赖倒置原则
高层模块不应该依赖底层模块,而是应该依赖于抽象。也就是说,我们应该面向接口编程,而不是面向实现编程。
依赖倒置原则的核心思想是:针对抽象编程,而不是针对具体实现编程。这样可以降低模块之间的耦合度,使系统更加灵活、可扩展和易于维护。同时,依赖倒置原则也可以促进面向对象设计的另一个原则——开闭原则的实现,即可以在不修改已有代码的情况下,通过添加新的实现来扩展系统的功能。
依赖倒置原则、依赖注入、控制反转三者的区别与联系
1)依赖倒置原则:是一种通用的软件设计原则,主要用来指导框架层面的设计。
2)控制反转:与依赖倒置有一些相似,它也是一种框架设计常用的模式,但并不是具体的方法。
3)依赖注入:是实现控制反转的一种手段,他是一种具体的编码技巧。
迪米特法则
一个对象应该对其他对象有最少的了解。也就是说,我们应该尽量减少对象之间的依赖关系,使得系统更加灵活、可扩展。
迪米特法则表达的思想:不该有直接依赖关系的类之间,不要有依赖;有依赖关系的类之间,尽量只依赖必要的接口。
合成复用原则
合成复用原则是一种面向对象设计中的设计原则,其核心思想是:尽可能使用对象组合和聚合,而不是继承来实现代码复用和灵活性。
在实现代码复用时,通常会考虑使用继承。然而,继承的局限性在于,它将子类于父类紧密耦合在一起,使得继承关系在设计时非常固定且难以修改,同时也增加了代码的复杂性。
相比之下,合成复用原则更加灵活。它通过将功能分解成更小的对象,将这些对象组合在一起来构建更复杂的对象,从而实现代码复用和灵活性。
聚合是指一个对象持有其他对象的引用,这些被持有的对象可以独立存在于整个系统中。
KISS原则
KISS原则是Keep It Simple And Stupid 的缩写,意思是”保持简单和愚蠢“。它是一种设计原则,通常用于软件开发和系统设计中。
KISS原则的核心思想:要尽可能地保持简单,避免过度复杂化和不必要的复杂性。它要求开发者尽可能地使用简单和易于理解地解决方案来解决问题,避免过度设计和过度工程化。
今天关于设计模式概念、分类、设计原则介绍的相关内容就分享到这里!
如果对您有帮助,欢迎点赞+关注,也可以发表您宝贵的评论,和我一起互动!
猜你喜欢
- 2024-10-06 设计模式归类讨论&适用场景分析
- 2024-10-06 29 设计模式——行为型模式概述(行为型模式的分类)
- 2024-10-06 「41期」卡模式之年卡模式和分类模式
- 2024-10-06 电气技术之供电方式的基本分类及功能详解,老电工都未必弄得清!
- 2024-10-06 一文击碎设计模式-03模式分类 23种设计模式知识点
- 2024-10-06 商业模式的分类 商业模式分为
- 2024-10-06 C#知识|设计模式的分类及认识 c#设计模式有哪些
- 2024-10-06 23 种设计模式的分类和功能 23种设计模式如何分类
- 2024-10-06 设计模式分类 设计模式分类和作用
- 2024-10-06 如何用一句话总结23种设计模式 用设计模式的思想阐述一个软件
你 发表评论:
欢迎- 05-1613步震撼淘宝大促闪光裂纹破墙立体字PS制作教程
- 05-16AI教程 | 绘制扁平的萌萌哒图标
- 05-160基础学平面设计所需了解的基础常识汇总
- 05-16自学平面设计需要多长时间?十六年职业设计总监告诉你
- 05-16平面设计都要学习哪些内容?
- 05-16李涛PS教程 高手之路PS教程 合成教程 —制作一个小星球
- 05-16Illustrator实例教程:制作炫酷的漩涡效果
- 05-16Illustrator实例教程:利用混合工具制作一朵炫酷的花
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)