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

相关推荐
生成论实验室2 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第十篇:识势应势——从认知到行动的完整闭环
人工智能·算法·架构·创业创新·安全架构
risc1234564 分钟前
SegmentTermsEnum#postings 和 IntersectTermsEnum#postings
算法·lucene
阿Y加油吧7 分钟前
二刷 LeetCode:两道经典贪心题复盘
算法·leetcode·职场和发展
顺顺 尼7 分钟前
程序地址空间和进程的一些操作
算法
Java成神之路-10 分钟前
【LeetCode 刷题笔记】35. 搜索插入位置 | 二分查找经典入门题
算法·leetcode
计算机魔术师14 分钟前
【职场观察 | 技术人处境】五一假期结束,职场两边同时加速——“简历热“和“优化潮“背后的结构性逻辑
人工智能·面试·职场和发展·cot 推理·技术人求职·ai替代逻辑
geovindu6 小时前
go: Mediator Pattern
设计模式·golang·中介者模式
MediaTea11 小时前
AI 术语通俗词典:C4.5 算法
人工智能·算法
Navigator_Z11 小时前
LeetCode //C - 1033. Moving Stones Until Consecutive
c语言·算法·leetcode
WBluuue11 小时前
数据结构与算法:莫队(一):普通莫队与带修莫队
c++·算法