软件设计师(下午题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,要记住

相关推荐
夏鹏今天学习了吗12 小时前
【LeetCode热题100(78/100)】爬楼梯
算法·leetcode·职场和发展
007php00712 小时前
mySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据
数据库·redis·git·mysql·面试·职场和发展·php
m0_7482500313 小时前
C++ 信号处理
c++·算法·信号处理
Ro Jace13 小时前
电子侦察信号处理流程及常用算法
算法·信号处理
yuyanjingtao13 小时前
动态规划 背包 之 凑钱
c++·算法·青少年编程·动态规划·gesp·csp-j/s
core51214 小时前
SGD 算法详解:蒙眼下山的寻宝者
人工智能·算法·矩阵分解·sgd·目标函数
Ka1Yan14 小时前
[链表] - 代码随想录 707. 设计链表
数据结构·算法·链表
scx2013100414 小时前
20260112树状数组总结
数据结构·c++·算法·树状数组
FastMoMO14 小时前
Qwen3-VL-2B 在 RK3576 上的部署实践:RKNN + RKLLM 全流程
算法
光算科技14 小时前
AI重写工具导致‘文本湍流’特征|如何人工消除算法识别标记
大数据·人工智能·算法