用STM32硬件思维学JAVA--23种设计模式

系列文章目录

1.【软考之软件设计师】PPT课件
2.【软考之软件设计师】学习笔记
3.【软考之软件设计师】上午题—信管网(每天更新)
4.【软考之软件设计师】上午题—希赛网(每天更新)
5.【软件设计师真题】下午题第一大题—数据流图设计
6.【软件设计师真题】下午题第二大题—数据库设计
7.【软件设计师真题】下午题第三大题—UML 分析与设计
8.【软件设计师真题】下午题第四大题—算法设计
9.【软件设计师真题】下午题第五大题—面向对象程序设计


23种设计模式

创建型设计模式:5种
结构型设计模式:7种
行为型设计模式:11种
在这里插入图片描述

创建型模式相当于这个外设比如232模块还没设计,要设计了;

结构型模式相当于有好多外设了比如232模块,LCD模块,电机驱动模块要看他们怎么组合了,领导想要哪个我们组合哪个,搭积木嘛;

行为行模式相当于比如电机驱动模块,要三个电机,XYZ轴,这三个电机怎么去分配,最终去完成一个图形的绘制这三个电机怎么配合。

一、创建型模式

0、简单工厂模式

说明:该工厂类可以根据不同的参数,返回不同的实例对象;被创建的对象通常都有一个共同的抽象父类。工厂模式中创建实例的方法是一个静态方法。(类图如下)
在这里插入图片描述

举个例子:现在有一个开发板,上面PA9,PA10是一组串口,这两个引脚是接232模块还是接485模块,看领导想要哪个,反正咱这两个模块都有,杜邦线一接就行。

1、工厂方法模式(类)

在这里插入图片描述
在这里插入图片描述

举个例子:还是那个串口,不过咱现在正在设计板子,这两个引脚是接232模块还是接485模块,看领导想要哪个,反正咱板子还有空间都能画上去。

2、抽象工厂模式(对象)

抽象工厂模式比工厂方法模式更宽泛一点,相当于说我整个芯片100多个引脚,有TIM,有ADC,有串口,相咋实现功能,看你心情。 ## 3、生成器模式 / 建造者模式(对象) 生成器模式(建造者模式)相当于咱去选型这个STM32主控了便宜的有F1,贵点的有F4,在牛B一点的有F7,看领导给的成本要求吧,(产品有不同的套餐,给的钱不同,创建的产品选择的套餐就不一样)尽量选性能好一点的方便后面设计嘛。

4、原型模式(对象)

原型模式相当于咱已经选好用哪款32了,设计最小系统时,你不会还自己画吧,那当然直接抄开发板原理图或者从之前画好的原理图中复制过来了。

5、单例模式(对象)

单例模式相当于咱画最小系统的一个指示灯,想原理图画的美观方便阅读,得用网络标号了吧,一个指示灯一种网络标号命名,不能多个指示灯控制引脚都接一个网络标号吧,而且当原理图画的很复杂直接ctrl+F搜这个网络编号也能搜到这个指示灯模块。

二、结构型模式

1、适配器模式

适配器模式相当于咱最小系统画好了,开始搞芯片供电这块了,一般都是3.3V供电,但是咱的电源都是12V,24V这样的,所以要加稳压电路,DCDC,LDO这样的去适配主控的电源电压。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++20中头文件syncstream的使用

<syncstream>是C20中新增加的头文件&#xff0c;提供了对同步输出流的支持&#xff0c;即在多个线程中可安全地进行输出操作&#xff0c;此头文件是Input/Output库的一部分。包括&#xff1a; 1.std::basic_syncbuf&#xff1a;是std::basic_streambuf的包装器(wrapper)&…

深度学习实战项目】基于OPenCV的人脸识别考勤系统软件开发【python源码+UI界面+功能源码详解】

背景及意义 人脸识别&#xff08;Face Recognition&#xff09;是基于人的脸部特征信息进行身份识别的一种生物识别技术&#xff0c;可以用来确认用户身份。本文详细介绍了人脸识别基本的实现原理&#xff0c;并且基于python与pyqt开发了人脸识别与信息管理软件&#xff0c;主要…

R语言机器学习教程大纲

文章目录 介绍机器学习算法监督学习Supervised Learning分类Classification回归Regression 无监督学习 Unsupervised Learning聚类 Clustering降纬 Dimensionality Reduction相关Association 强化学习Reinforcement Learning模型自由 Model-Free Methods模型驱动 Model-Based M…

猎板高频PCB技术深度解析与设计实践指南

高频PCB&#xff08;印刷电路板&#xff09;设计是电子工程领域的一项关键技术&#xff0c;特别是在通信、雷达、卫星导航等高速数据传输和信号处理应用中。本文档旨在提供一份聚焦的高频PCB技术资料&#xff0c;涵盖设计原则、材料选择、布线策略、接地与屏蔽、阻抗控制以及制…

51单片机——OLED显示图片

取模软件&#xff1a;链接:https://pan.baidu.com/s/1UcrbS7nU4bsawNxsaaULfQ 提取码:gclc 1、如果图片大小和格式不合适&#xff0c;可以先用Img2Lcd软件进行调整图片大小&#xff0c;一般取模软件使用的是.bmp图片&#xff0c;可以进行输出.bmp格式。软件界面如下&#xff1…

创建型模式-----建造者模式

目录 背景&#xff1a; 构建模式UML 代码示例 房子成品&#xff1a; 构建器抽象&#xff1a; 具体构建器&#xff1a; 建筑师&#xff1a; 测试部…

Rust小练习,编写井字棋

画叉画圈的游戏通常指的是 井字棋&#xff08;Tic-Tac-Toe&#xff09;&#xff0c;是一个简单的两人游戏&#xff0c;规则如下&#xff1a; 游戏规则 棋盘&#xff1a;游戏在一个3x3的方格上进行。玩家&#xff1a;有两个玩家&#xff0c;一个用“X”表示&#xff0c;另一个…

VScode远程开发之remote 远程开发(二)

VScode远程开发之remote 远程开发&#xff08;二&#xff09; 使用vscode进行远程开发很简单&#xff0c;在拓展里搜索 Remote Development&#xff0c;就可以搜索到微软提供的远程开发大礼包&#xff0c;里面包含了 通过 SSH 远程服务器 远程容器 远程 WSL&#xff08;Win…

凯伦股份荣获中国钢结构协会2024年度技术创新奖

10月21-22日&#xff0c;中国钢结构协会成立40周年纪念大会暨2024中国钢结构大会在北京市召开。会议举行了纪念中国钢结构协会成立40周年颁奖&#xff0c;对中国钢结构协会科学技术进步奖、技术创新奖进行了颁奖。由凯伦股份完成的“高分子卷材金属复合板及工程应用”项目荣获2…

微信小程序canvas 生成二维码图片,画图片,生成图片,将两个canvas结合并保存图片

**需求实现步骤如下 先定义两个canvas一个canvas myQrcode画二维码的图片另一个canvas mycanvas画一个背景图&#xff0c;并把二维码画到这个canvas上&#xff0c;mycanvas这个canvas生成一张图片&#xff0c;返回图片的临时路径最后保存图片到手机** 首先wxml,新版微信小程序…

【Javaee】网络原理—TCP协议的核心机制

前言 TCP/IP五层协议是互联网中的主流模型&#xff0c;为网络通信提供了一个稳固的框架。 主要包含了应用层&#xff0c;传输层&#xff0c;网络层&#xff0c;数据链路层&#xff0c;物理层。 本篇主要介绍传输层的TCP协议的核心机制 一. 确认应答&#xff08;ack&#xf…

JMeter压测时报错Address Already in use 或 java.net.SocketException: Socket closed

由于模拟并发请求会占用一个端口&#xff0c;和远程来建立连接&#xff0c;但是windows本身提供的端口访问机制受到限制&#xff0c;在Windows操作系统中&#xff0c;端口号的使用受到一定的管理和限制。端口号1024到5000&#xff08;或有时称为“动态端口”或“私有端口”范围…

使用 pydub 的 AudioSegment 获取音频时长 - python 实现

通过使用 pydub 的 AudioSegment 获取音频时长&#xff0c;音频常用格式如 m4a,wav等。 安装 python 库&#xff1a; pip install pydub 获取 m4a 格式的音频时长代码如下&#xff0c;代码如下&#xff1a; #-*-coding:utf-8-*- # date:2024-10 # Author: DataBall - XIAN #…

2024软考网络工程师笔记 - 第10章.组网技术

文章目录 交换机基础1️⃣交换机分类2️⃣其他分类方式3️⃣级联和堆叠4️⃣堆叠优劣势5️⃣交换机性能参数 &#x1f551;路由器基础1️⃣路由器接口2️⃣交换机路由器管理方式2️⃣交换机路由器管理方式 交换机基础 1️⃣交换机分类 1.根据交换方式分 存储转发式交换(Store…

Java生死簿管理小系统(简单实现)

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

精益生产现场管理和改善的实施技巧有哪些?

精益生产现场管理和改善&#xff0c;是企业追求高效、高质量生产的关键所在。这一管理策略强调在现场通过一系列工具和方法&#xff0c;对生产流程、物料流动、设备利用、人员配置等进行持续优化&#xff0c;旨在消除浪费、提升效率、保障质量、增强灵活性&#xff0c;最终实现…

npm、yarn、pnpm的workspaces使用

示例项目中总会遇到npm的packages中出现的workspaces键值对&#xff0c;自己的项目中没接触过这个东西&#xff0c;到底是什么&#xff1f;怎么用的&#xff1f;简单研究记录一下&#xff1a; abbrev是一个npm包&#xff0c;提供缩写展开功能。‌ 当你定义一个缩写后&#xff0…

PoissonRecon学习笔记

1. Screened Poisson Reconstruction (SPR) 源码&#xff1a;https://github.com/mkazhdan/PoissonRecon However, as noted by several researchers, it suffers from a tendency to over-smooth the data. 泊松重建存在过度平滑的现象。 方法&#xff1a;position and gradi…

Python:背景知识及环境安装

一、计算机的基础概念 1.1 什么是计算机&#xff1f; 最早我们有计算器&#xff0c;但是他只能完成算数运算的功能 而计算机能完成的工作有&#xff1a; &#xff08;1&#xff09;算术运算 &#xff08;2&#xff09;逻辑判断 &#xff08;3&#xff09;数据存储 &#xff08…