1.7个重要的面向对象设计原则
设计原则名称 | 定义 | 使用频率 |
---|---|---|
单一职责原则 | 一个对象应该只包含单一的职责, 并且该职责被完整地封装在一个 类中 | ★ ★ ★ ★ ☆ |
开闭原则 | 软件实体应当对扩展开放,对修改 关闭 | ★ ★ ★ ★ ★ |
里氏代换原则 | 所有引用基类的地方必须能透明的 使用其子类的对象 | ★ ★ ★ ★ ★ |
依赖倒转原则 | 高层模块不应该依赖底层模块,它 们都应该依赖抽象。抽象不应该依 赖细节,细节应该依赖抽象 | ★ ★ ★ ★ ★ |
接口隔离原则 | 客户端不应该依赖那些它不需要的 接口 | ★ ★ ☆ ☆ ☆ |
合成复用原则 | 优先使用对象组合,而不是通过继承 来达到复用的目的 | ★ ★ ★ ★ ☆ |
迪米特法则 | 每一个软件单位对其他单位都只有最 初的知识,而且局限于那些与本单位 密切相关的软件单位 | ★ ★ ★ ☆ ☆ |
2.为什么要使用面向对象设计原则?
面向对象的设计目标之一在于支持可维护性的复用,一方面需要实现设计方案或者源代码的复用,另一方面要确保系统能够易于扩展和修改,具有良好的可维护性。面向对象设计原则为支持可维护性复用而诞生。
注:此文章内容摘抄自 《java设计模式》——刘伟(清华大学出版社),摘抄目的是做学习笔记,方便日后查看。