1、 单一职能原则 2、 迪米特原则 最少知道法则;如果两个类不必彼此通信,那么这两个类就不应当发生直接的相互作用。可以通过第三者转发。 3、 开放-封闭原则 软件实体可以扩展,但是不可以修改 4、 依赖倒转原则 针对接口编程