s( Single-Resposibility Principle ): 单一职责原则
o( Open-Closed principle ): 开放封闭原则
l( Liskov-Substituion Principle ): 里氏代换原则
i( Interface-Segregation Principle ): 接口隔离原则
d( Dependecy-Inversion Principle ): 依赖倒置原则
solid 对应的中文是立方的意思
①单一职责原则:一个类承担一个职责,实现低耦合;
②开发封闭原则:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的(有新的需求时,可进行系统扩展),而对修改是封闭的(新的需求,不需要修改原来的代码)。
③里氏代换原则:子类能完全替换它的基类,以人(基类)和猩猩(子类)为例,人有一个“开车”的技能,而猩猩没有,所以猩猩不能完成代替人,该行为不满足里氏代换原则。
④接口隔离原则:客户端不应该依赖客户不需要的接口、类之间的依赖关系应该建立在最小接口上(最小接口体现在,如果A类需要“开车”的接口,就实现有开车这个技能的接口,不需要再去实现“游泳”的接口,即不需要去实现其它的接口)
⑤依赖倒置原则:低层依赖高层、细节依赖抽象