面向对象的设计原则 遵循可维护性 可复用性
高内聚:内聚是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性;反之则成为低内聚性。
低耦合:耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据
1 单一职责 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中 就一个类而言,应该仅有一个引起它变化的原因
2 开闭原则 软件实体应对扩展开放,对修改关闭
3 里氏代换原则 所有引用基类的地方必须能透明地使用其子类的对象
4 依赖倒转原则 高层模块不应该依赖低层模块,它们都应该依赖抽象 抽象不应该依赖于细节,细节应该依赖于抽象
5 接口隔离原则 客户端不应该依赖那些它不需要的接口
6 合成复用原则 优先使用对象组合,而不是通过继承来达到复用的目的
7 迪米特法则 每一个软件单位对其他单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位