开放封闭原则 软件实体(类、模块、函数等)应该可以扩展,但是不可修改。 大白话:就是面对新需求时,现有的类最好不做修改,以增加新的类的方式来完成新需求。 这样方便维护和扩展。 依赖倒转原则 抽象不应该依赖细节,细节应该依赖于抽象 1)高层模块不应该依赖底层模块。两个都应该依赖抽象。 2)抽象不应该依赖细节。细节应该依赖抽象。 大白话:面向接口编程,不要对实现编程。 里氏替换原则 子类型必须能够替换掉它们的父类型。 正式因为里氏替换原则才使得开放封闭原则可以实现。