知识卡片

依赖倒置降低并行开发风险的机制

普通读书笔记卡 · 1970.f.1.b

内容

若类间直接依赖具体实现,甲的类未完成时乙依赖它的类连编译都通不过——团队被迫串行开发。 应用[[依赖倒置原则的三层含义与Java体现]]后,双方只需约定接口就能各自独立开发,借助Mock 工具虚拟测试替身先写单元测试,这是TDD能先写测试的前提,被称为依赖倒置的最高级应用。 发散:TDD不是独立的意志力实践,而是依赖倒置这一结构性前提的自然结果。

参考来源

- 位置:《设计模式之禅(第2版)》第3章《依赖倒置原则》(源文件:_epub-src/text/part0012.html) - 结论依据:原文对比了紧耦合下"甲没完成、乙无法编译更无法测试"的并行开发风险,与依赖倒置下"只要制定好接口就可以独立开发、用JMock虚拟对象完成单元测试"的方案,指出"TDD开发模式就是依赖倒置原则的最高级应用"。 - 原始内容:两个开发人员只要制定好了接口就可以独立地开发了……我们引入一个JMock工具,其最基本的功能是根据抽象虚拟一个对象进行测试……两个相互依赖的对象可以分别进行开发,孤立地进行单元测试,进而保证并行开发的效率和质量,TDD开发的精髓不就在这里吗?