总结一句话: solid 【固体】d 【地上】;固体在地上(散开了)。“散开”是为了加强对开闭原则的理解,它是所有原则的领袖。
一、S ,【单一职责原则】Single Responsibility Principle, SRP
定义:类的设计尽量做到只有一个原因引起变化。
解决的问题:降低复杂性;提高可读性;易于维护;维护相同的业务功能。
二、O,【开闭原则】 Open Closed Principle,OCP
定义:对修改关闭,对扩展开放。
解决的问题:抽象约束;制定标准;可插拔式扩展;拥抱变化。
三、L,【里氏代换原则】Liskov Substitution Principle,LSP
定义:父类所拥有的性质在子类中仍然成立。
解决的问题:易于升级维护;封装抽象;统一管理。
四、I,【接口隔离原则】Interface Segregation Principle,ISP
定义:客户端不应该依赖它不需要的接口。
解决的问题:保证方法的纯洁性;避免不可控的调用。
五、D,【依赖倒置原则】Dependency Inversion Principle,DIP
定义:面向接口编程;模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。
解决的问题:减少类间的耦合性;提高系统的稳定性;降低并行开发引起的风险;提高代码的可读性和可维护性
六、D,【迪米特法则】Demeter Principle
定义:一个对象应该对其他对象有最少的了解。
解决的问题:高内聚低耦合。
为了方便自己记忆和理解,用形象的实体去脑补所学的知识,让学习的设计模式构成体系。