日常知识点之遗留问题梳理(被问到用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:行为型 访问者模式(限制用户权限)

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

相关推荐
李广坤2 小时前
状态模式(State Pattern)
设计模式
李广坤3 小时前
观察者模式(Observer Pattern)
设计模式
李广坤4 小时前
中介者模式(Mediator Pattern)
设计模式
李广坤4 小时前
迭代器模式(Iterator Pattern)
设计模式
李广坤4 小时前
解释器模式(Interpreter Pattern)
设计模式
阿无,7 小时前
java23种设计模式之前言
设计模式
Asort8 小时前
JavaScript设计模式(八):组合模式(Composite)——构建灵活可扩展的树形对象结构
前端·javascript·设计模式
数据智能老司机8 小时前
数据工程设计模式——数据基础
大数据·设计模式·架构
笨手笨脚の11 小时前
设计模式-代理模式
设计模式·代理模式·aop·动态代理·结构型设计模式
Overboom18 小时前
[C++] --- 常用设计模式
开发语言·c++·设计模式