1. 面向对象设计原则
- 单一职责原则: 一个类只负责一个功能领域中的相应职责
- 开闭原则: 软件实体应对扩展开放,而对修改关闭;
- 里氏代换原则: 所有引用基类对象的地方能够透明地使用其子类的对象;
- 依赖倒转原则: 抽象不应该依赖于细节,细节应该依赖于抽象;
- 接口隔离原则: 使用多个专门的接口,而不使用单一的总接口;
- 合成复用原则: 尽量使用对象组合,而不是继承来达到复用的目的;
- 迪米特法则: 一个软件实体应当尽可能少地与其他实体发生相互作用;
2. 软件模式的基础结构包括四部分:
- 问题描述(待解决的问题是什么)
- 前提条件(在何种环境或约束条件下使用)
- 解法(如何解决)
- 效果(有哪些优缺点)
3. 根据用途,设计模式分为:
- 创建型(描述如何创建对象) 5种
- 结构型(描述如何实现类或对象的组合) 7种
- 行为型(描述类或对象怎样交互以及怎样分配职责) 11种
3.1 创建型模式:
3.2 结构型模式:
- 适配器模式(不兼容结果的协调)
- 桥接模式(处理多维度变化)
- 组合模式
- 装饰模式
- 外观模式
- 享元模式
- 代理模式(经纪人模式)
3.3 行为型模式:
- 职责链模式
- 命令模式
- 解释器模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 观察者模式
- 状态模式
- 策略模式
- 模板方法模式
- 访问者模式
参考资料: