设计模式(一):设计原则、常用设计模式

server/2025/2/12 7:43:52/

1. 设计原则

SOLID原则-SRP单一职责原则:一个类或者模块只负责完成一个职责(或者功能)。

SOLID原则-OCP开闭原则:如果要添加一个新的功能,能够在已有代码基础上直接扩展代码,而不用修改已有代码就能实现,那么就符合“扩展开放、对修改关闭”原则。

SOLID原则-LSP里式替换原则:子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。

SOLID原则-ISP接口隔离原则:客户端不应该被强迫依赖它不需要的接口。其中的“客户端”,可以理解为接口的调用者或者使用者。

SOLID原则-DIP依赖倒置原则:高层模块不要依赖低层模块。高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。比如,编写的Web应用程序代码只需要部署在Tomcat容器下,便可以被Tomcat容器调用执行。按照之前的划分原则,Tomcat就是高层模块,我们编写的Web应用程序代码就是低层模块。Tomcat和应用程序代码之间并没有直接的依赖关系,两者都依赖同一个“抽象”,也就是Servlet规范。Servlet规范不依赖具体的Tomcat容器和应用程序的实现细节,而Tomcat容器和应用程序依赖Servlet规范。

KISS原则:尽量保持简单,需要逻辑简单、代码简洁。

YAGNI原则:不要去设计当前用不到的功能;不要去编写当前用不到的代码,即不要做过度设计。


http://www.ppmy.cn/server/166997.html

相关文章

xss闯关

BUU上的[第二章 web进阶]XSS闯关 第一关 第一关很简单&#xff0c;没有任何过滤&#xff0c;直接输入&#xff1a;<script>alert()</script>即可。 第二关 第二关可以输入xss和<script>alert()</script>分别查看页面源代码&#xff0c;看看哪里变了…

第二十一章:考研的艰难抉择与放弃入学的转折

深秋时节&#xff0c;校园宛如被大自然精心雕琢的艺术殿堂。金黄的银杏叶在阳光的轻抚下&#xff0c;闪烁着细碎的光芒&#xff0c;微风拂过&#xff0c;叶片相互摩挲&#xff0c;发出沙沙的轻响&#xff0c;仿佛在低声诉说着岁月的故事。一片片银杏叶悠悠然飘落&#xff0c;宛…

python--sqlite

1. 连接到数据库 使用 sqlite3.connect() 方法可以创建一个到SQLite数据库的连接。如果指定的数据库文件不存在&#xff0c;它会自动创建一个新的数据库文件。 import sqlite3# 连接到数据库&#xff0c;如果数据库文件不存在则会创建一个新的 conn sqlite3.connect(example…

动态词表设计:从小说创作到超大规模语言模型的启示

在自然语言处理(NLP)领域,随着深度学习技术的发展,构建能够理解和生成人类语言的大规模语言模型成为了研究热点。然而,随着词汇量的增长,传统的固定大小词表方法面临着计算资源和效率的巨大挑战。本文将探讨一种创新的动态词表设计思路,并通过类比小说创作过程来论证这种…

25考研材料复试面试常见核心问题真题汇总,材料考研复试面试有哪些经典问题?材料考研复试过程最看重什么内容?

材料复试面试难&#xff01;千万不要死磕&#xff01;复试是有技巧的&#xff01; 是不是刷了三天三夜经验贴&#xff0c;还是不知道材料复试会问啥&#xff1f;去年我复试时被导师连环追问"非晶合金的原子扩散机制"&#xff0c;差点当场宕机...今天学姐掏心窝总结&…

自动化xpath定位元素(附几款浏览器xpath插件)

在 Web 自动化测试、数据采集、前端调试中&#xff0c;XPath 仍然是不可或缺的技能。虽然 CSS 选择器越来越强大&#xff0c;但面对复杂 DOM 结构时&#xff0c;XPath 仍然更具灵活性。因此&#xff0c;掌握 XPath&#xff0c;不仅能提高自动化测试的稳定性&#xff0c;还能在爬…

嵌入式Linux系统下的 QT 截图程序

嵌入式Linux系统下的 QT 截图程序 前言环境配置QT程序源码效果 前言 程序可以截取整个屏幕 环境配置 Linux终端运行QT程序&#xff0c;环境变量配置 export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER1# 嵌入式FrameBuffer模式 export QT_QPA_PLATFORMlinuxfb:fb/dev/fb0 # 或使用…

无人机图像拼接数据在GIS中的处理与分析、可视化与制图;无人机航拍;无人机生态环境监测、图像处理与GIS数据分析

ArcGIS作为地理信息系统领域最主流的GIS平台软件&#xff0c;空间数据处理和分析功能强大&#xff0c;十分适用于地表空间监测数据的读写、管理、分析与可视化。本教程融合无人机生态环境监测技术和ArcGIS数据分析技术&#xff0c;通过具体案例分析与软件操作实践&#xff0c;详…