《设计模式的艺术》笔记——基础知识
最近看了刘伟写的《设计模式的艺术》,第一次具体的学习设计模式,整理了一下笔记。
设计模式:
是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并保证代码可靠性。
关键要素:
模式名称、问题、解决方案、效果。
分类:
- 创建型(Creational)——如何创建对象
- 结构型(Structural)——如何实现类或对象的组合
- 行为型(Behavioral)——类或对象怎样交互和分配指责
设计模式的作用:
- 避免做一些重复性的工作,有助于提高设计和开发效率。
- 方便开发人员之间进行沟通和交流,使得设计方案更加通俗易懂。
- 更好的重用一些已有的设计方案、功能模块甚至整个完整的软件系统。
- 有助于别人更快的理解系统。
- 有助于初学者更加深入的理解面向对象思想。
常用的面向对象涉及原则
- 单一职责原则: 一个类只负责一个功能领域中的相应职责。
- 开闭原则: 软件实体应对开放扩展,而对修改关闭。
- 里氏代换原则: 所有引用基类对象的地方能够透明地使用其子类的对象。
- 依赖倒转原则: 抽象不应该依赖于细节,细节应该依赖于抽象。
- 接口隔离原则: 使用多个专门的接口,而不使用单一的总接口。
- 合成复用原则: 尽量使用对象组合,而不是继承来达到复用的目的。
- 迪米特法则: 一个软件实体应当尽可能少地与其他实体发生相互作用。
类之间的关系
关联关系
双向关联
单向关联
自关联
多重性关联
聚合关系
组合关系
依赖关系
泛化关系
接口与实现关系