12、驱动设计:TDD与SOLID原则

驱动设计:TDD与SOLID原则

1. 单一职责原则在测试中的应用

单一职责原则(SRP)不仅有助于我们组织代码,还能帮助我们组织测试。每个测试应该只测试一件事,可能是一个单一的正常流程或者一个单一的边界条件。这样做能让我们更轻松地定位故障。当某个测试失败时,由于它只关注代码的一个方面,我们就能很容易地找到存在缺陷的代码。基于此,每个测试只包含一个断言的建议也就顺理成章了。

有时候,一组对象可以以多种不同的方式进行协作。对于这样的对象组,为每种配置编写一个单独的测试通常会更好。这样我们会得到多个更小、更易于处理的测试。这是将SRP应用于对象组的每个配置的一个例子,通过为每个特定配置编写一个测试来实现。

2. 依赖倒置原则(DIP):隐藏无关细节

依赖倒置原则(DIP)允许我们将代码拆分成相互独立变化的组件,这自然会引出SOLID原则中的开闭原则(OCP)。依赖倒置(DI)意味着我们编写的代码应该依赖于抽象,而不是具体细节。与之相反的情况是,两个代码块中一个依赖于另一个的具体实现,这样一个代码块的更改会导致另一个代码块也需要更改。

下面是一个反例,展示了应用SRP后的 Shapes 类代码:

package shapes;
import java.util.ArrayList;
import java.util.List;
public class Shapes {
    private final List<Shape> allShapes = new ArrayList<>();
    public 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值