单一职责原则 即每个类或接口(函数)只负责一项职责 开放封闭原则 软件实体尽量在不改动原有代码的前提下进行扩展 接口隔离原则 使用多个专门的接口而不是单一的总接口,即高层代码不应该依赖他不需要的底层接口 依赖倒置原则 高层模块不能依赖底层模块,必须依赖其抽象,接口即是抽象 里氏替换原则 所有引用父类的地方都可以透明的应用子类,即父类与子类接口的返回值必须一致