软件设计有很多原则,比如软件设计上的 SOLID principle,单元测试中的 FIRST和AAA,代码实现上的 DRY principle 等。熟悉这些原则,可以把我们的经验上升到理论高度,有利于程序员的成长,也便于团队带头人和组员控制软件质量。
我们先介绍 SOLID 原则。SOLID 是下面几个英文词组的缩写
-
Single-Responsibility principle
单一职责原则
-
Open-Close principle
开放扩展,封闭修改
-
Liskov substitution principle
Liskov 替换原则
-
Interface s egregation principle
接口隔离原则
-
Dependency inversion principle
依赖反转原则
Single-Responsibility principle
单一职责原则
这个原则是指一个软件模块只应该负责一件事情。当需求调整的时候,我们只需要修改与需求相关的模块。软件模块不应该像瑞士军刀那样,什么都能干,而应该像厨房里刀具套装里的刀具一样各司其责。
比如下面的代码:
public class ProtocolTranslator
上面的代码是一个协议翻译类,在协议翻译的过程中如果出现了异常,则把异常写入文件日志中。粗略看来这个类没有问题,但是如果我们需要把日志写入数据库,那么我么就需要改变代码。按照单一