软件设计师(下午题2)、UML与设计模式

UML

知识前提

A---->B A(依赖事物)依赖于B(独立事物),当B发生变化会影响A。

**关联:**一根无向线,就是一条直线,上面是重复度,下面是名称

实心菱形就是组合,空心就是聚合,然后菱形右边表示整体,左边表示部分

泛化:子类------>父类 就是继承的意思

实现:类----->接口

用例和用例的关系

包含(include)、扩展(extend)、泛化( generalize)

扩箭基(扩展关系箭头指向被基础用例),包箭被(包含关系箭头指向被包含用例)

包含(include)、扩展(extend)都是--------> 就是单词不一样


问题一:看用例之间的关系(重点)

1、如果是泛化关系(要认识泛化的图标)那就绝对是父类和子类,找说明里的父类和子类有哪些,例如支付方式是父类,微信支付和支付宝支付是子类

2、如果是包含关系,要知道箭头指向的是被包含的 ,例如A----->B就是A包含B,A用例实现前会先实现B用例,比如说删除图书------->查找图书,每次删除图书都要先查找图书

问题二

看跟要求的类名相关联的已知的类名有哪些,然后根据已知类名和要求类名的关系去说明里找看看有没有符合这样关系的描述,找到这句话把这句话的名词都给标出来,然后根据题意去看那个名词更适合

1、一般像类图中有泛化这样的关系的,那就直接去说明中找对应的那种父类和子类这样有关系的名词

2、一般有聚合或组合关系的那就直接去找说明里的有整体-部分关系、包含关系、并且两者直接由联系的,一般都是一句话来描述这两个名词直接的关系,例如硬币器中的硬币,这就是包含关系,整体部分关系

问题三:


设计模式

知识前提

接口实现用implements,继承用extends

定义接口用interface,抽象用abstract

public:公有访问,不受任何限制。

private:私有访问,只限于本类成员访问,子类、实例都不能访问。

protected:保护访问,只限于本类和子类访问,实例不能访问。

internal:内部访问,只限于本项目内访问,其他不能访问。

注意事项

原型模式:要调用复制方法 ,要注意转换类型,调用构造方式时注意它的参数

组合模式,打印,注意要递归

空是填多个单词的,abstract class

Super(name),调用父类的构造方法

装饰器,注意子类赋值this,父类有没有定义这个属性 new(new(null))

状态模式注意:如果父类已经定义了,你就直接用父类的,不要new

访问者模式:accept接收

传当前类用this,要记住

相关推荐
zh_xuan2 分钟前
最小跳跃次数
数据结构·算法
yumgpkpm13 分钟前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera
孞㐑¥21 分钟前
算法—队列+宽搜(bfs)+堆
开发语言·c++·经验分享·笔记·算法
yufuu9829 分钟前
并行算法在STL中的应用
开发语言·c++·算法
zh_xuan30 分钟前
单青蛙跳台阶
数据结构·算法
Kx_Triumphs36 分钟前
计算几何-旋转卡壳两种实现方案(兼P1452题解
算法·题解
代码游侠39 分钟前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
m0_736919101 小时前
C++中的享元模式变体
开发语言·c++·算法
罗湖老棍子1 小时前
【 例 1】石子合并(信息学奥赛一本通- P1569)
数据结构·算法·区间dp·区间动态规划·分割合并
wangluoqi2 小时前
26.2.4练习总结
算法