1、单一职责原则
就一个类而言,应该仅有一个引起它变化的原因
2、开放-封闭原则
尽量让代码可以扩展(开放),但是写好的代码尽量不要修改(封闭)
3、依赖倒转原则
写代码要根据接口写(或者说要根据抽象写)而不是根据实现写,如下所示
4、迪米特法则
如果两个类不必彼此通讯,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。其实就是强调类与类之间的弱耦合。