目录

DDD和TDD驱动开发有哪些区别

DDD和TDD驱动开发的区别是:DDD指的是领域驱动开发,它关注的是Service层的设计,着重于业务的实现,将分析和设计结合起来,不再使他们处于分裂的状态,这有助于我们正确完整的实现客户的需求,以及建立一个具有业务伸缩性的模型。TDD指的是测试驱动开发,是一种使用自动化单元测试来推动软件设计并强制依赖关系解耦的技术。使用这种做法的结果是一套全面的单元测试,可随时运行,以提供软件可以正常工作的反馈。

一、DDD和TDD驱动开发的区别

DDD指的是Domain Drive Design(领域驱动开发),DDD实际上也是建立在这个基础之上,因为它关注的是Service层的设计,着重于业务的实现,将分析和设计结合起来,不再使他们处于分裂的状态,这有助于我们正确完整的实现客户的需求,以及建立一个具有业务伸缩性的模型。

TDD指的是Test-driven development (测试驱动开发),是一种使用自动化单元测试来推动软件设计并强制依赖关系解耦的技术。使用这种做法的结果是一套全面的单元测试,可随时运行,以提供软件可以正常工作的反馈。

在编写真正实现功能的代码之前先编写测试,每次测试之后,重构完成,然后再次执行相同或类似的测试。该过程根据需要重复多次,直到每个单元根据所需的规格运行。

测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论,TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。大行其道的一些模式对TDD的支持都非常不错,比如MVC和MVP等。

延伸阅读:

二、什么是BDD

BDD是Behavior-Driven Development (行为驱动开发),这里的B并非指的是Business,实际上BDD可以看作是对TDD的一种补充,让开发、测试、BA以及客户都能在这个基础上达成一致,JBehave之类的BDD框架。是测试驱动开发概述的价值的子集。我们在使用测试驱动开发时正确地创建了对象。相反,行为驱动的开发确保我们创建正确的对象。本质上,TDD 是通过行为驱动的开发来扩展的。

在 BDD 框架进入行业之前,公司一直在使用 TDD。只要利益相关者有足够的技术知识并且对框架感到满意,TDD 在软件开发中是有效的。

BDD 是一种弥合技术团队和非技术团队之间差距的方法,因为测试用例是用每个人都能理解的纯文本编写的,即英语。BDD 的主要优点是其简单、低污垢的风格,更易于理解。

以上就是关于DDD和TDD驱动开发的区别的内容了,希望对大家有帮助。