1、OCP:开放封闭原则,对扩展是开放的,对更改是封闭的。即不需要修改软件实体(类、模块、函数等)就能实现功能的扩展。关键是抽象!
2、DIP依赖倒置原则:高层模块不能依赖底层模块,而是大家都依赖于抽象;抽象不能依赖实现,而是实现依赖抽象。tomcat监听端口,spring处理URL
3、Liskov(LSP)替换原则,子类型必须能够替换他们的基类型,父类都可以用子类替换,override父类的方法后,抛出的exception是父类方法抛出
4、单一职责原则(SRP):一个类只有一个引起其变化的原因。
5、ISP:接口分离原则,不应该强迫客户程序依赖他们不需要的方法。