这些设计模式你都知道吗?

59 阅读1分钟

面向对象

创建型

  • 单例 Singleton
  • 原型 Prototype
  • 生成器/建造者 Builder
  • 工厂方法 Factory Method
  • 抽象工厂 Abstract Factory

结构型

  • 组合 Composite
  • 代理 Proxy
  • 装饰 Decorator
  • 外观 Facade
  • 适配器 Adapter
  • 享元 Flyweight
  • 桥接 Bridge

行为型

  • 模板方法 Template Method
  • 策略 Strategy
  • 责任链 Chain of Responsibility
  • 迭代器 Iterator
  • 命令 Command
  • 观察者 Observer
  • 状态 State
  • 中介者 Mediator
  • 访问者 Visitor
  • 备忘录 Memento
  • 解释器 Interpreter

参考:GoF 23、refactoringguru-常用设计模式目录

并发编程

  • 不变模式 Immutable
  • Copy-on-Write 模式
  • 线程本地存储模式(ThreadLocal)
  • Guarded Suspension 模式
  • Balking 模式
  • Thread-Per-Message 模式
  • Worker Thread 模式
  • 生产者 - 消费者模式(线程池)
  • 两阶段终止模式

参考:《图解Java多线程设计模式》

I/O

  • TPR(Thread per Request) 模式
  • Reactor 模式
  • Proactor 模式

缓存

  • Cache Aside 更新模式
  • Read/Write Through 更新模式
  • Write Behind Caching 更新模式

参考:58 | 性能设计:缓存-左耳听风-极客时间

容错设计模式

  • 断路器模式
  • 舱壁隔离模式
  • 重试模式

参考:37 | 要实现某种容错策略,我们该怎么做?-周志明的软件架构课-极客时间

限流设计模式

  • 流量计数器模式
  • 滑动时间窗模式
  • 漏桶模式
  • 令牌桶模式

参考:38 | 限流的目标与模式-周志明的软件架构课-极客时间