软考 软件设计师上午题设计模式概念类

news2024/11/27 18:38:11

设计模式分类

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

创建型设计模式

在这里插入图片描述

简单工厂模式

不符合开闭原则,因此没有列入23类模式里
对扩展开放对修改关闭
在这里插入图片描述

工厂方法模式

说穿了:系统开放一个接口(拓展开放)、不提供修改的接口(修改关闭),这是创建型下的工厂模式设计核心
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

抽象工厂

抽象工厂方法,一个工厂可以生产多个产品
这个可以理解成 一个人买猪肉汤底的饺子,但店里有面和饺子,有猪肉汤底和牛肉汤底;汤底是系列,饺子和面是产品;先选系列再选产品
在这里插入图片描述
在这里插入图片描述

生成器模式

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

生成器:创建一个产品上有很多的部件 生成器就负责创建部件(抽象)。concreteBuilder生成部件() Director导演
导演使用具体的生成器,生成器创建具体的产品,再把产品返回 。
在这里插入图片描述
在这里插入图片描述

原型模式

上午题没怎么考过
在这里插入图片描述

在这里插入图片描述

原型模式: 你本来有一个产品在这你给他复制一个
同一作品的各比赛复用
出现少,常作为干扰选项

单例模式

比如西游记里面取经路上用到各种交通工具,而白龙马只有一只,且一直都跟着
在这里插入图片描述

结构性设计模式

在这里插入图片描述
考过的次数

适配器模式

理解: 比如你想把usb设备插入typec接口时不行,所以就用到了适配器转接
在这里插入图片描述
在这里插入图片描述

adapter=转接头

桥接模式

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

菱形左边时整体右边是部分

在这里插入图片描述

理解 中间有一个桥 把抽象跟实现分开,左边可以随意增加产品也不会影响到右边的颜色
在这里插入图片描述

组合模式

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

装饰器模式

在这里插入图片描述

在这里插入图片描述

外观模式(22年考过)

在这里插入图片描述

关键:外观外观,提供一致的外观界面
理解:类似于一个网站里面有很多分页面子系统

在这里插入图片描述

享元模式

可以这样理解,有个很抠门的人带来一副五子棋,这副棋只有黑白各一颗棋子、一个用于记录的本本和棋盘,每下一次拿本本记录棋子的颜色和下的位置,通过本本的记录判断局势
在这里插入图片描述
在这里插入图片描述

细粒度 将一个对象进行划分,划分出大量的对象

黑子 白子例子

代理模式(适用性考的少)

在这里插入图片描述

关键词:控制对这个对象的访问
理解:proxy是代理 subject你想买的房车 real是付钱。代理可以帮你省去手续时间

在这里插入图片描述

在这里插入图片描述

行为设计模 看重点

在这里插入图片描述

责任链模式 (实用性意图都要)

在这里插入图片描述

**学生发出请假需求 辅导员只能批假7天 院长15 校长30天 这三个人就是处理者 。如果辅导员批不了得会用链把这个请求转给对应的人 **

在这里插入图片描述

命令模式

在这里插入图片描述

在这里插入图片描述

解释器模式(没考过)

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

迭代器

在这里插入图片描述

在这里插入图片描述

中介者模式

在这里插入图片描述

每个人都需要跟其他对象进行通信,这样显得很紧俏,用终结者模式 接收消息他在分发给对应的人
相当于让一个中转站帮忙传递消息
在这里插入图片描述

备忘录

在这里插入图片描述

解释:把状态保存下来 方便以后恢复

**备忘录模式 (memento)
在不破坏封装性的前提下捕获一个对象的内部状态
解释:把状态保存下来 方便以后恢复
原发器(Originator)决定要不要备份。备忘录只能被原发器访问
Caretaker 存储备份记录
**
在这里插入图片描述

观察者模式

在这里插入图片描述

解释:粉丝对应博主。是一对多。博主更新动态 粉丝收到更新通知
subiect对应博主,observer对应粉丝
在这里插入图片描述

状态模式

在这里插入图片描述

对象在内部状态改变时改变他的行为
解释:贩卖机 内部状态:有货无货,从有货卖完了 到无货,补货后状态转移为有货

在这里插入图片描述

策略模式

定义一列算法 把他们封装起来 是他们相互替换
在这里插入图片描述

在这里插入图片描述

模板方法模式

在这里插入图片描述

**定义一个操作中得算法骨架,而将一些步骤延迟到子类
解释:有很多子类 子类有很多重复的行为还有一些可能因为子类的不同而改变的操作。
就像你去提交申请表格,通常都会有一份模板。只需要加入模板。张三可能获奖证书多点,李四可能留学经历多些。他们的表格就像是从表格模板继承的子类。
**
模板是固定不变的比如上课进教室,下课出教室
在这里插入图片描述

访问者模式(适用性做了解)

表示一个作用于某对象结构中的各元素得操作
加粗样式
在这里插入图片描述

在这里插入图片描述

表示一个作用于某对象结构中的各元素得操作
解释“想象,一个电影院,有很多部电影,这些电影可以给很多个观众看,然后这些观众都能给电影评分。

在这里插入图片描述


在这里插入图片描述
这就是访问者

45选a,题目说了由它的子类实现,那应该要选的是它的父类

f访问者模式:访问所有对象,并且可以在不改变原来类的情况下定义一些作用域这个类的新操作

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

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

相关文章

基于html+css的图展示83

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

使用贝壳物联控制led灯

1、完成esp8266 01S的固件刷机 1.1 使用刷机软件刷原生固件 esp8266 01S要使用标准固件1M(主要是01S是8M) 1.2 刷机接线方式 ttl直接连esp8266 接线: tts esp8266 3v3 ---》面包板高----》3.3 tx--------------…

BEVFormer 论文学习

1. 解决了什么问题? 3D 视觉感知任务,包括基于多相机图像的 3D 目标检测和分割,对于自动驾驶系统非常重要。与基于 LiDAR 的方法相比,基于相机图像的方法能够检测到更远距离的目标,识别交通信号灯、交通标识等信息。有…

[CTF/网络安全] 攻防世界 command_execution 解题详析

[CTF/网络安全] 攻防世界 command_execution 解题详析 ping命令ping命令的应用格式ping命令执行漏洞 ls命令cat命令姿势ping本地回环地址ping目录ping文件夹ping文件 Tips总结 题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道…

图【无向图】的创建与遍历

树:无回路 图:有回路 代码在最下面 邻接矩阵:重点:矩阵 (一)图的创建 存储方式 如图: 代码截图分析:顶点用一维数组存,边用两个点之间的值为0或1来表…

异地研发团队都使用哪些研发协同工具?盘点7类最主流的研发管理协同软件

产品研发场景下好用的协同办公软件有哪些?分享7类研发过程中主流的协同办公软件,比如项目管理协作与问题跟踪工具PingCode、代码托管与版本控制平台github、持续集成与持续部署(CI/CD)工具jinkens、文档协作与知识管理工具conflue…

【力扣周赛】第346场周赛

【力扣周赛】第346场周赛 6439. 删除子串后的字符串最小长度题目描述解题思路 6454. 字典序最小回文串题目描述解题思路 6441. 求一个整数的惩罚数题目描述解题思路 6439. 删除子串后的字符串最小长度 题目描述 描述:给你一个仅由 大写 英文字符组成的字符串 s 。…

Gradle ——Gradle安装与配置

目录 一、简介 二、功能和特点 三、安装 参考: Gradle_百度百科 Gradle 学习 ----Gradle 入门_你若不离不弃,我必生死相依的博客-CSDN博客 还有硬石科技的开源wifiAPP程序,没找到他们的码仓 一、简介 Gradle是一个基于Apache Ant和Apache Maven概念…

BPMN2.0 -条件序列流和默认序列流

序列流是流程中两个元素或者活动的连接器。在流程执行过程中访问一个元素之后,将继续执行素有的序列流,默认是并行的。传出的序列流将创建独立的并行执行路径。 顺序流需要有流程唯一的id,并引用存在的源与目标元素。 <sequenceFlow id="flow1" sourceRef=&qu…

vxe-table 对合并列的理解

行列对应关系 删除数据&#xff0c;只对一条数据进行分析 合并列代码&#xff08;_rowspan移除不影响&#xff0c;但是函数会eslint报红&#xff0c;正常运行&#xff09; 合并之后&#xff0c;从第一列开始&#xff0c;内容整体右移动&#xff0c;标题内容不对应 解决内容右移…

第三章 openEuler 文件系统

系列文章目录 第一章 openEuler 安装指南 第二章 openEuler 网络配置 第三章 openEuler 文件系统 文章目录 系列文章目录前言一、openEuler中的文件系统1.整体架构2.文件系统层次结构3. FHS定义的一级目录结构 二、常用命令1. pwd 查看当前所在的目录路径2. ls 查看当前目录下…

算法——各排序算法效率对比和总结

1. 算法效率对比 在此我们使用如下代码来测试各个算法的效率 void TestOP() {srand(time(0));const int N 100000;int* a1 (int*)malloc(sizeof(int) * N);int* a2 (int*)malloc(sizeof(int) * N);int* a3 (int*)malloc(sizeof(int) * N);int* a4 (int*)malloc(sizeof(i…

【TOP生物信息】CNS图表复现,单细胞marker基因展示的另一种方式——蜂巢图

扫码关注下方公粽号&#xff0c;回复推文合集&#xff0c;获取400页单细胞学习资源&#xff01; 本文共计1359字&#xff0c;阅读大约需要4分钟。 Sten Linnarsson大神的单细胞绘图堪称极致美学&#xff0c;在这里&#xff0c;小编选择了发表在nature上展示marker基因的绘图进…

找不到msvcp140.dll无法继续执行代码,怎么解决?

MSVCP140.dll是一个Windows操作系统中的动态链接库文件&#xff0c;它是Microsoft Visual C Redistributable for Visual Studio 2015的一部分。这些库提供了一些C程序所需的基本功能&#xff0c;例如内存管理、文件操作、字符串处理等等。丢失或者损坏会导致很多软件跟游戏无法…

由浅入深Netty简易实现RPC框架

目录 1 准备工作2 服务器 handler3 客户端代码第一版4 客户端 handler 第一版5 客户端代码 第二版6 客户端 handler 第二版 1 准备工作 这些代码可以认为是现成的&#xff0c;无需从头编写练习 为了简化起见&#xff0c;在原来聊天项目的基础上新增 Rpc 请求和响应消息 Data …

由浅入深Netty代码调优

目录 1. 优化1.1 扩展序列化算法 2 参数调优2.1 CONNECT_TIMEOUT_MILLIS2.2 SO_BACKLOG2.3 ulimit -n2.4 TCP_NODELAY2.5 SO_SNDBUF & SO_RCVBUF2.6 ALLOCATOR2.7 RCVBUF_ALLOCATOR 1. 优化 1.1 扩展序列化算法 序列化&#xff0c;反序列化主要用在消息正文的转换上 序列…

Windows11部署WSL2以及迁移操作系统位置

1 缘起 笔记本电脑Windows 10内存紧张&#xff1a;16 G&#xff0c; 但是&#xff0c;开发需要一些组件&#xff0c;如Redis&#xff08;Redisearch、ReJson&#xff09;、MySQL等&#xff0c; 在Linux容器化中部署更方便&#xff0c;易用&#xff0c; 在Windows中通过虚拟机安…

安卓与串口通信-modbus篇

前言 在之前的两篇文章中&#xff0c;我们讲解了串口的基础知识和在安卓中使用串口通信的方法&#xff0c;如果还没看过之前文章的同学们&#xff0c;建议先看一遍&#xff0c;不然可能会不理解这篇文章讲的某些内容。 事实上&#xff0c;在实际应用中&#xff0c;我们很少会…

Tip in/Out变速箱齿轮敲击过程详细分析

Tip in/Out变速箱齿轮敲击过程详细分析(模型由AMEsim例子改造而成&#xff0c;数据均虚构&#xff0c;仅学习用&#xff09; 1、发动机稳态工况2、Tip in/Out工况3、总结 1、发动机稳态工况 发动机输出力矩&#xff1a; 一轴齿轮驱动力矩&#xff08;离合器减振器输出力矩&am…

为什么要做问卷调查?企业获得用户心声的捷径

问卷调查作为一种重要的数据收集方法&#xff0c;在市场营销、社会学研究、用户研究等领域得到广泛应用。通过问卷调查&#xff0c;我们可以了解受访者的态度、行为、需求等信息&#xff0c;进而为企业和组织的决策提供支持。那么&#xff0c;为什么要做问卷调查呢&#xff1f;…