DDD、UDD、TDD主要区别:领域业务需求驱动or用例驱动or用户需求驱动

DDD、UDD、TDD是什么?它们分别是领域驱动设计(DDD)、用例驱动开发(UDD)、测试驱动开发(TDD),它们是三种不同的软件开发方法。具体的意思为领域驱动设计( domain driven design),用例驱动设计(use case driven design),测试/用户驱动设计(test driven design)。

领域驱动设计(DDD)

DDD 将业务逻辑与软件设计紧密结合,通过深入理解业务需求,并将领域模型作为软件设计的中心,提升系统的两个性:可维护性、扩展性。

DDD 关注领域模型的设计,通过与领域不同的专家合作,确保设计的模型准确反映业务需求,从而保证设计产品的满足需要。

用例驱动开发(UDD)

UDD 以用例为核心来驱动开发,在编写代码之前,先要定义系统用例,根据测试用例进行黑盒演练。

通过提前的测试,确保系统的功能满足预期的需求,通过模拟、演练,在需求稳定后,进行具体的单元测试。

测试驱动开发(TDD)

TDD比较适合需求稳定的项目,好多人把TDD 简化成:“首先写单元测试,然后写实现程序,最后单元测试通过”。

TDD 以测试为核心驱动开发,先编写测试用例,再编写代码,并进行测试,然后通过重构提高代码质量。

通过TDD方法,可以提高代码的可测试性、可维护性、可靠性。

三种方法的主要区别

视角不同:DDD 关注“业务领域和业务需求”的建模和设计;UDD 侧重于“用例”的定义和测试;TDD 注重“测试驱动开发”的过程。。

重点不同:DDD 重点是领域“模型的设计实现;UDD 重点是用例来驱动整个开发过程;TDD重点是“测试驱动代码开发”的实现。。

目标不同:DDD 要实现高度可维护和可扩展的软件系统;UDD 是确保系统功能符合预期需求;TDD 是通过测试保证代码的正确性和可靠性。 

您可以还会对下面的文章感兴趣:

使用微信扫描二维码后

点击右上角发送给好友