设计模式的艺术-开闭原则

embedded/2025/1/25 2:14:40/

原则使用频率图(仅供参考)

1.如何理解开闭原则

  1. 简单来说,开闭原则指的是 “对扩展开放,对修改关闭”。

  2. 当软件系统需要增加新的功能时,应该通过扩展现有代码的方式来实现,而不是去修改已有的代码。

  3. 例如我们有一个计算图形面积的程序,最初它只能计算圆形和矩形的面积。如果要添加计算三角形面积的功能,按照开闭原则,我们不应该去修改原来计算圆形和矩形面积的代码,而是创建一个新的类来专门处理三角形面积的计算。

  4. 为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键

2.开闭原则的优点

  1. 提高了软件系统的稳定性

  2. 增强了软件系统的可维护性

  3. 促进代码的复用

以上内容为根据书本内容配合搜索引擎整理得来,目的是为了学习,要是有侵权的情况发生,请联系我,我会立即予以删除,谢谢!

一起成长,人生是马拉松,可以跑得慢,但一定要在路上。


http://www.ppmy.cn/embedded/156715.html

相关文章

【Prometheus】Prometheus如何监控Haproxy

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

利用Java爬虫获取eBay商品详情:代码示例与教程

在当今的电商时代,获取商品详情数据对于市场分析、价格监控和竞品研究至关重要。eBay作为全球最大的电商平台之一,拥有海量的商品信息。通过Java爬虫技术,我们可以高效地获取这些数据,为商业决策提供支持。本文将详细介绍如何使用…

LLM大模型实践18-评估(上)——存在一个简单的正确答案

准备数据 products_and_category { "电脑和笔记本": [ "TechPro 超极本", "BlueWave 游戏本", "PowerLite Convertible", "TechPro Desktop", "BlueWave Chromebook" ], "智能手机和配件": [ "…

UniApp + UniCloud 实现微信小程序静默登录

UniApp UniCloud 实现微信小程序静默登录 目录 1. 项目准备2. UniCloud 配置3. 前端实现4. 云函数实现5. 完整示例 1. 项目准备 1.1 环境要求 HBuilderX 3.0微信开发者工具UniCloud 已开通微信小程序已注册 1.2 项目配置 在 manifest.json 中配置微信小程序 AppID&…

STM32之FreeRTOS开发介绍(十九)

STM32F407 系列文章 - freertos(十九) 目录 前言 一、简述 二、开源网址 三、原理及功能特性 1.原理简介 2.功能介绍 1.任务调度 2.任务管理 3.中断管理 4.消息队列 3.特点说明 4.优缺点 四、参考书籍 五、实现方式 总结 前言 FreeRTOS是…

Python爬虫技术:高效数据收集与深度挖掘

利用Python进行爬虫开发以实现数据收集与挖掘是一个相对复杂但非常强大的任务。以下是一个基本的流程和一些关键步骤,帮助你开始: 一、准备阶段 确定目标网站: 明确你想要抓取数据的网站,并研究其结构和数据获取方式。 安装必要…

Linux初识:【版本控制器Git】【调试器gdb/cgdb使用】

目录 一.版本控制器Git 1.1版本控制器 1.2Git的操作 1.2.1从远端仓库到本地 1.2.2工作区到本地暂存区 1.2.3本地暂存区到本地仓库 1.2.4本地仓库到远程仓库 1.2.5 .gitignore 1.2.6Windows上操作(需要安装Tortoisegit) 1.2.7同步远端和当地 二调…

css粘性定位超出指定宽度失效问题

展示效果 解决办法&#xff1a;外层容器添加display:grid即可 完整代码 <template><div class"box"><div class"line" v-for"items in 10"><div class"item" v-for"item in 8">drgg</div>&…