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

学习导读
设计模式是什么
设计模式是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图,可用于解决代码中反复出现的设计问题
人们常常会混淆模式和算法,因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。同一模式在两个不同程序中的实现代码可能会不一样。算法更像是菜谱:提供达成目标的明确步骤。而模式更像是蓝图:你可以看到最终的结果和模式的功能,但需要自己确定实现步骤
为什么要学习设计模式
- 应对面试中的设计模式相关问题
- 告别写被别人吐槽的烂代码
- 提高复杂代码的设计和开发能力
- 让读源码,学框架事半功倍
- 为今后职场的发展做铺垫
设计原则与思想
面向对象
设计原则
规范与重构
创建型模式
创建型模式:提供创建对象的机制,增加已有代码的灵活性和可复用性
单例模式 (Singleton)

工厂方法模式 (Factory Method)
抽象工厂模式 (Factory Method)
生成器模式 (Builder)
原型模式 (Prototype)
结构性模式
结构型模式:介绍如何将对象和类组装成较大的结构,并同时保持结构的灵活和高效
适配器模式 (Adapter)
桥接模式 (Bridge)
组合模式 (Composite)
装饰模式 (Decorator)
外观模式 (Facade)
享元模式 (Flyweight)
代理模式 (Proxy)
行为模式
行为模式:负责对象间的高效沟通和职责委派