开-闭原则(Open-Closed Principle,OCP )是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对( )开放,对( )关闭;里氏代换原则(Liskov Substitution Principle,LSP )是指任何( )可以出现的地方,( )一定可以出现。依赖倒转原则(Dependence Inversion Principle,DIP)就是要依赖于( )而不依赖于( ),或者说要针对接口编程,不要针对实现编程。