设计模式-1. SOLID法则以及其他面向对象的设计原则

设计模式-1. SOLID法则以及其他面向对象的设计原则

一、SOLID

头文字 缩写 英文全称 中文全称 解释
S SRP Single responsibility principle 单一职责法则 一个类应该只有单一职责,也就是说,只允许有一个软件定义的改变影响到类
O OCP Open/close Principle 开/闭原则 软件实体应该对扩展开放,对修改关闭
L LSP Liskov substitution principle 里氏替换法则 程序中的对象可以被子类替换,而无需修改其他代码。也被称作面向抽象编程
I ISP Interface segregation principle 接口隔离法则 多个特定功能的接口,要好于一个通用目的的接口
D DIP Dependency inversion principle 依赖反转法则 要依赖于抽象编程,不要依赖于具体类

二、其他原则

英文全称 中文全称 解释
DRY – Don’t repeat yourself 不写重复代码 不写重复代码,而是抽象成可复用的代码块
Encapsulate What Changes 封装经常修改的代码 将来要被修改的代码要封装起来,变量和方法的访问权限默认设置为私有,并且逐步放开它们的访问权限
Favor Composition over Inheritance 优先使用组合而非继承 组合允许在运行时通过设置属性修改一个类的行为,通过使用多态即以接口的形式实现类之间的组合关系,并且为修改组合关系提供了灵活性
Delegation principle 代理原则 不要期望一个类完成所有的功能,可以适当地把一些功能交给代理类实现。代理原则的典范是:Java 中的equals() 和 hashCode() 方法。为了比较两个对象的内容是否相同,我们让用于比较的类本身完成对比工作而非它们的调用方。这种设计原则的好处是:没有重复编码而且很容易修改类的行为。

参考

https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
https://www.javacodegeeks.com/2012/08/10-object-oriented-design-principles.html

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
spring
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论