1)单一职责原则  

类的职责要单一 不能将太多的职责放在一个类里

2)开闭原则

软件实体对扩展是开放的 但对修改是关闭的  在不修改一个软件实体的基础上去扩展功能

3)里氏替换原则

在软件系统中 一个可以接受基类对象的地方必须可以接受一个子类对象

4)依赖倒转原则

要针对抽象层变成 不要针对具体类编程

5)接口隔离原则

使用多个专门的接口来取代一个统一接口

6)合成复用原则

在系统中尽量多使用组合和聚合的关联关系 尽量少使用甚至不适用继承关系

7)迪米特法则

一个软件实体对其他实体的引用越少越好 或者说如果俩个类不必彼此直接通信 那么这两个就不应当发生直接调用关系 而是通过应用第三方发生间接交互

 

开闭原则 和依赖倒转原则是经常使用的 

开闭原则 :写好的类最好不要修改 如果一个项目很大 这个类如果涉及的很广 就会造成扩散BUG问题 对修改关闭 对扩展打开

单一职责原则  :类最好 只做一件事情  一个和尚有谁和 三个和尚没水喝 这个道理应该懂得  如果一件事情 分成很多地方在做 就会引发很多混乱的问题 

依赖倒转原则:面向接口 或者抽象编程 

接口隔离:接口 要单一 太多接口 引发混乱