yangsirgo / softwareTest

软件设计师考试
6 stars 2 forks source link

设计模式 #25

Closed yangsirgo closed 3 years ago

yangsirgo commented 4 years ago
  1. 设计模式分类: 参见示意图: 1

  2. 设计模式应用场 景和记忆关键字:

    • 创建型模式:用于创建对象的模式,为创建类实例化提供指南。创建对象很简单,new 一个就好,但是在某些语言,特定的场景下,需要很多额外的处理: 2 单例模式,应用场景比如配置文件,保证一个类只能产生一个唯一的实例。
    • 结构性模式:主要处理类与对象的组合问题,让类和对象形成更大的结构,提供相应的指导。 3
  3. 桥接模式示意图: 桥接模式

  4. 组合模式:树形目录结构,比如组织架构,windows的目录等

  5. 装饰模式: 一层一层往上面加,动态给对象增加额外的职责。

  6. 外观模式:示意图: 外观模式

    • 行为型模式:主要是描述类和对象交互的情况,以及职责的分配。 4 5
  7. 职责链模式:类似与财务审批,我这批不了,传递给上一级审批。好处是不用与各个级别的人都要接触,审批了,这样只需要 传送一次即可,后面的任务自己处理了。示意图: 职责链模式

  8. 迭代器模式:例子 .next 方法可以获取指针对象中的下一个对象,就使用了迭代器模式。

  9. 观察者模式:建立观察,主体变化,通知观察者变化。

  10. 状态模式: 比如不同的会员享受不同的折扣,不同的会员状态变化变成类,状态变化,折扣也会跟着变化。 模板方法模式和访问者模式不怎么考。 易混淆的设计模式:

    • 策略模式。多方案切换(替换)。
    • 抽象工厂模式。生产成系列对象。