Author:ProZoom
Hobby:爱折腾、爱思考,想静静的ProZoom
Github --- 简书 --- CSDN --- 关于我
六大基本原则
1. 单一职责原则
全称:Single Responsibility Principle
缩写:SRP
定义:一个类应该有且只有一个变化的原因(There should never be more than one reason for a class to change.)
定义解读:《UNIX编程艺术》中提到的一句话和这篇文章很贴切:Do one thing,and do it well。通俗的说,即一个类只负责一项职责
2. 开闭原则
全称:Open Close Principle
缩写:OCP
定义:一个软件实体(如类、模块、函数)应当对扩展开放,对修改关闭。
定义解读:
3. 里氏替换原则
全称:Liskov Substitution principle
缩写:LSP
定义:任何一个基类可以出现地方,子类一定可以出现,并且不会产生任何错误(注意:必须是父子关系)
定义解读:第一个注意:里氏替换原则核心就是抽象(继承和接口)每一个子类都会拥有父类的方法属性
第二个注意:开闭原则和里氏替换原则生死相依,通过里氏替换原则达到了对外开放,对修改关闭
里氏替换原则通俗的来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:
- 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
- 子类中可以增加自己特有的方法。
- 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
- 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。
4. 依赖导致原则
全称:Dependence Inversion Principle
缩写:DIP
定义:高层次模块不依赖于低层次模块实现细节
定义解读:说白了,依赖于抽象,不依赖具体实现指导子类实现功能细节,依赖倒置原则的核心就是要我们面向接口编程,理解了面向接口编程,也就理解了依赖倒置。
5. 接口隔离原则
全称:Interface Segregation Principle
缩写:ISP
定义:类与类之间的依赖关系应该是建立在最小的接口上
6. 迪米特原则--最少知识原则
全称:Least Knowledge Principle
缩写:LKP
定义:一个对象应该对其他的对象有最少的了解
设计原则总结
六大基本原则都是基于抽象(抽象类和接口)
网友评论