我正在构建一个DDD系统,我们已经为已经设置的系统提供了纸上的所有要求.关于我们如何构建我需要意见的域模型存在分歧.
我倾向于采用这些要求并勾画出一个基本的域模型,其中包含类,它们的属性和行为以及白板或visio上的关系的大纲.然后,我开始构建单元测试,用于逐个构建和测试我的模型.
我的同事似乎认为这不是很好的TDD DDD练习.他们认为你不应该勾勒出任何东西并开始构建测试,并在你完成测试的“感觉”时设计你的模型.
在构建DDD模型时,哪一种被认为是“正确的”TDD技术?
像任何类型的软件工程问题一样,答案往往是“两者兼而有之”.
你不能真正编写任何测试,除非你已经知道你将要测试什么,但你也可以使用你的测试来影响你的模型设计.也许这一切都发生在你的大脑内部,或者你可能记录了这个过程,但(在我看来)你最终必须使用这两个想法.
就个人而言,我会做几个用例,对域模型进行一次尝试,然后为它编写测试,看看测试会引发哪些设计问题.冲洗并重复.这一切都应该与团队的其他成员合作完成.