日常知识点之遗留问题梳理(被问到用uml画设计模式)

好多年不接触uml了,有一天面试,让用uml画出设计模式,

已经对uml的概念很模糊,隐约记得就是用例图,类图之类的,后面确定后,就是类图,用例图,时序图,都属于uml,按需画图。

结合自己以前整理过23中设计模式 以及参考:23种设计模式------UML类图+简要分析+例题_uml设计模式-CSDN博客

简单潦草做思路汇总,个人汇总。

1:创建型 单例模式(唯一实例)

2:创建型 简单工厂/工厂方法模式(函数参数或子类 创建不同类)

2.1 根据类型不同,创建不同的产品。

2.2:工厂的子类,创建不同的产品。

3:创建型 抽象工厂模式(超级工厂 工厂子类支持多种产品)

4:创建型 建造者/生成器模式(建房,子类建造不同的风格)

每个builder对象内部实际上创建了一个house,并有接口返回对象

结合下面的模板方法模式

5:创建型 原型模式(支持拷贝自身)

6:结构型 适配器模式(中间类 适配两边差异)

220v电压和不同电压的适配支持

7:结构型 桥接模式(抽象和实现分开 然后组合) 替换继承

这里也可以直接在pen中嗲用color 直接组合

8:结构型 组合模式(文件夹结构 部门层级 一组对象当单一对象)

9:结构型 装饰器模式(优化继承深度 扩展目标类功能)

10:结构型 外观模式(中间类,管理流程 如加密流程)

调用多个不同类的不同方法,组合一起

11:结构型 享元模式(重复用对象 对象池 下棋)

12:结构型 代理模式 (代理类 控制真实对象的访问)

13:行为型 解释器模式(语法解析器)

14:行为型 模板方法模式(基类提供接口 实现延迟给子类 建房)

15:行为型 责任链/过滤器模式

16:行为型 命令模式(万能遥控 )

命令类的子类是真正的实现,调用类直接通过实际子类调用到具体的指令。

可以和具体的字符(指令)进行关联优化

执行者是真正的业务处理,命令类调用执行者类中的方法。

17:行为型 迭代器模式(相同类型遍历 电视节目换台)

迭代器针对的是容器 特定顺序的容器

18:行为型 中介模式(聊天室 关联了所有人)

19:行为型 备忘录模式(目标类的临时存储和恢复)

20:行为型 观察者模式(发布/订阅)

21:行为型 状态模式(state子类真正状态对应执行)

如何管理状态比较灵活

22:行为型 策略模式(选不同的子类方案)

23:行为型 访问者模式(限制用户权限)

拆分目标类的功能,访问者根据权限不同,只能有部分权限

相关推荐
Zane19945 天前
一个 new 就能创建对象,为什么还要拆出单例、工厂、建造者、原型四种模式?
设计模式
怕浪猫6 天前
一行命令复刻爆款视频,我把 Hypit 从安装跑到了出片
人工智能·设计模式·程序员
Zane19946 天前
函数式编程里的函数,其实不是你天天写的那个函数——三大编程范式的边界在哪
设计模式
Zane19947 天前
策略模式现在该不该上?一次讲清楚过度设计和设计不足怎么找平衡
设计模式
她说..7 天前
常见设计模式-模板方法模式
java·spring·设计模式·springboot
xiaofeiyang1507 天前
第六章 · 桥接 — 三支毛笔,画出九种颜色
设计模式
Shadow(⊙o⊙)8 天前
OTOL设计模式 One Thread One Loop
服务器·网络·设计模式
sarasuki9 天前
如何让LLM 能在半夜偷偷打开网易云呢?
人工智能·设计模式·agent
小王师傅669 天前
【设计模式】装饰模式(四):框架源码实战——从 Java I/O 到 Spring 到 MyBatis
java·设计模式
执明wa9 天前
Android RecyclerView 多类型, 多种 Item
android·xml·开发语言·设计模式·android studio