DDD和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驱动开发的区别的内容了,希望对大家有帮助。

猜你喜欢LIKE
相关推荐HOT
更多>>
什么是蒙特卡洛模拟??
一、什么是蒙特卡洛模拟蒙特卡洛模拟是一种预测不确定事件可能结果的数学技术。计算机程序使用这种方法来分析过去的数据,并根据选择的行动预测...详情>>
2023-10-14 22:46:37
站点可靠性工程的关键指标有哪些?
一、站点可靠性工程的关键指标有哪些?站点可靠性工程 (SRE) 团队使用以下指标衡量服务交付质量和可靠性。1、服务水平目标服务水平目标 (SLO) ...详情>>
2023-10-14 21:46:33
javaee和javase有啥区别?
一、javaee和javase的区别JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等。也叫J2EE。JavaSE通常是指Java...详情>>
2023-10-14 18:29:40
方法和函数有什么区别?
一、方法和函数的区别1、定义位置函数:Python的函数是直接写在Python模块中的,即在.py文件中直接定义。方法:只能定义在class类中2、定义方式...详情>>
2023-10-14 18:02:22