SOLID 原则基本概念:
程序设计领域, SOLID (单一功能、开闭原则、里氏替换、接口隔离以及依赖反转)是由罗伯特·C·马丁在21世纪早期 引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能SOLID被典型的应用在测试驱动开发上,并且是敏捷开发以及自适应软件开发的基本原则的重要组成部分。
1、单一职责原则(SRP:Single responsibility principle)
就一个类而言,应该仅有一个引起它变化的原因; 通俗的说,即一个类只负责一项职责
2、开放-封闭原则(OCP:Open Closed Principle)
对于扩展是开放的(Open for extension);对于更改是封闭的(Closed for modification)。
3、里氏代换原则(Liskov Substitution Principle)
子类型必须能够替换掉它们的父类型
4、接口隔离原则(Interface Segregation Principle)
接口的抽象的功能应该尽量细化分开,不要让实现了这个接口的类必须实现它不需要的功能.
5、依赖倒转原则(Dependency Inversion Principle)
高层模块不应该依赖低层模块。两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象
6、迪米特法则(LKP:Least Knowledge Principle,又叫最少知识原则)
如果两个类不必彼此直接通信,那么这两个类就不应当直接的相互作用;如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
7、合成/聚合复用原则
尽量使用合成/聚合,尽量不要使用类继承,优先使用对象的合成/聚合将有助于你保持每个类被封装,并被集中在单个任务上;
这样类和类继承层次会保持较小规模,并且不太可能增长为不可能控制的庞然大物。