Design Patterns

  1. 1. 学习导读
    1. 1.1. 设计模式是什么
    2. 1.2. 为什么要学习设计模式
  2. 2. 设计原则与思想
    1. 2.1. 面向对象
    2. 2.2. 设计原则
    3. 2.3. 规范与重构
  3. 3. 创建型模式
    1. 3.1. 单例模式 (Singleton)
    2. 3.2. 工厂方法模式 (Factory Method)
    3. 3.3. 抽象工厂模式 (Factory Method)
    4. 3.4. 生成器模式 (Builder)
    5. 3.5. 原型模式 (Prototype)
  4. 4. 结构性模式
    1. 4.1. 适配器模式 (Adapter)
    2. 4.2. 桥接模式 (Bridge)
    3. 4.3. 组合模式 (Composite)
    4. 4.4. 装饰模式 (Decorator)
    5. 4.5. 外观模式 (Facade)
    6. 4.6. 享元模式 (Flyweight)
    7. 4.7. 代理模式 (Proxy)
  5. 5. 行为模式
    1. 5.1. 责任链模式 (Chain of Responsibility)
    2. 5.2. 命令模式 (Command)
    3. 5.3. 迭代器模式 (Iterator)
    4. 5.4. 中介者模式 (Mediator)
    5. 5.5. 备忘录模式 (Memento)
    6. 5.6. 观察者模式 (Observer)
    7. 5.7. 状态模式 (State)
    8. 5.8. 策略模式 (Strategy)
    9. 5.9. 模板方法模式 (Template Method)
    10. 5.10. 访问者模式 (Visitor)
  6. 6. 参考

本篇为极客时间设计模式之美的学习笔记

学习导读

设计模式是什么

设计模式是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图,可用于解决代码中反复出现的设计问题

人们常常会混淆模式和算法,因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。同一模式在两个不同程序中的实现代码可能会不一样。算法更像是菜谱:提供达成目标的明确步骤。而模式更像是蓝图:你可以看到最终的结果和模式的功能,但需要自己确定实现步骤

为什么要学习设计模式

  1. 应对面试中的设计模式相关问题
  2. 告别写被别人吐槽的烂代码
  3. 提高复杂代码的设计和开发能力
  4. 让读源码,学框架事半功倍
  5. 为今后职场的发展做铺垫

设计原则与思想

面向对象

设计原则

规范与重构

创建型模式

创建型模式:提供创建对象的机制,增加已有代码的灵活性和可复用性

单例模式 (Singleton)

工厂方法模式 (Factory Method)

抽象工厂模式 (Factory Method)

生成器模式 (Builder)

原型模式 (Prototype)

结构性模式

结构型模式:介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效

适配器模式 (Adapter)

桥接模式 (Bridge)

组合模式 (Composite)

装饰模式 (Decorator)

外观模式 (Facade)

享元模式 (Flyweight)

代理模式 (Proxy)

行为模式

行为模式:负责对象间的高效沟通和职责委派

责任链模式 (Chain of Responsibility)

命令模式 (Command)

迭代器模式 (Iterator)

中介者模式 (Mediator)

备忘录模式 (Memento)

观察者模式 (Observer)

状态模式 (State)

策略模式 (Strategy)

模板方法模式 (Template Method)

访问者模式 (Visitor)

参考