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

设计模式分类

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

创建型设计模式

在这里插入图片描述

简单工厂模式

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

工厂方法模式

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

抽象工厂

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

生成器模式

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

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

原型模式

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

在这里插入图片描述

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

单例模式

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

结构性设计模式

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

适配器模式

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

adapter=转接头

桥接模式

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

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

在这里插入图片描述

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

组合模式

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

装饰器模式

在这里插入图片描述

在这里插入图片描述

外观模式(22年考过)

在这里插入图片描述

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

在这里插入图片描述

享元模式

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

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

黑子 白子例子

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

行为设计模 看重点

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

命令模式

在这里插入图片描述

在这里插入图片描述

解释器模式(没考过)

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

迭代器

在这里插入图片描述

在这里插入图片描述

中介者模式

在这里插入图片描述

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

备忘录

在这里插入图片描述

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

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

观察者模式

在这里插入图片描述

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

状态模式

在这里插入图片描述

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

在这里插入图片描述

策略模式

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

在这里插入图片描述

模板方法模式

在这里插入图片描述

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

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

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

在这里插入图片描述

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

在这里插入图片描述


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

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

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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件设计师是一个非常受欢迎的IT职业证书,具备中级软件设计师证书意味着具备了相应的软件设计师职业素养和技能。软件设计师试内容广泛,其中包括了软件工程基础知识、需求分析与规格说明、软件设计方法、软件设计与编码等多个方面的知识。 在备过程中,准备资料对于提高备效果非常重要。中级软件设计师的备资料中,PDF格式的文件是常见的资料形式之一。这些PDF文件包含了丰富的软件设计师试知识点,例如概念解释、实例分析、案例研究等等。通过阅读和学习这些PDF文件,生可以系统地了解软件设计师的知识框架和试要求,帮助他们更好地备。 通过使用PDF文件,生可以自由地在电脑、平板电脑或手机上进行学习,更加方便灵活。此外,PDF文件具备搜索功能,可以快速查找和定位需要的内容,提高学习效率。在备过程中,生可以根据自己的时间安排和学习进度,有针对性地选择相关的PDF文件进行学习,有助于提高备效果。 总的来说,中级软件设计师的PDF资料对于备者来说是一种非常有价值的学习资源。通过针对性地阅读和学习这些PDF文件,生可以全面了解软件设计师职业所需的知识和能力,帮助他们在试中取得优异的成绩。希望生能够认真学习、针对性复习,顺利通过软件设计师试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值