- 单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整的封装到一个类中
- 开闭原则:软件实体应当对扩展开放,对修改关闭
- 里氏代换原则:所有引用基类的地方必须能透明的使用其子类的对象
- 依赖倒转原则:高层模块不应该依赖底层模块,它们都应该依赖抽象,抽象不应该依赖于细节,细节应该依赖于抽象
- 接口隔离原则:客户端不应该依赖那些它不需要的接口
- 合成复用原则:优先使用对象组合,而不是通过继承来达到复用的目的
- 迪米特法则:每一个软件单位对其它单位都只有最少的知识,而且局限于那些于本单位密切相关的软件单位
设计原则包括设计模式,重在理解,下面是我觉的写的不错的一篇关于设计原则的博客:
面向对象设计原则详解