1,单一职责原则(SRP)函数
对于一个类而言,应该仅有一个引发它变化的缘由。(封装)对象
2,开放-封闭原则(OCP)继承
软件实体(类,模块,函数)应该能够扩展,可是不可修改。(继承)扩展
将发生变化的种类,抽象出来隔离变化软件
3,依赖倒置原则(DIP)程序
高层模块不该该依赖低层模块,两个都应该依赖抽象; 封装
抽象不该该依赖细节,细节应该依赖抽象。(继承)
4,里氏代换原则(LSP)
子类型必须可以替换掉它们的父类型。(多态)
一个软件实体,若是使用是一个父类的话,那么必定适用于其子类,并且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序行为没有变化。
封装,继承,多态