在DDD示例中,开发领域模型的常见方法似乎是与领域专家坐在一起,在模型的各个版本上进行迭代,比如在白板上,不断地修改并更改它,直到就模型的外观达成一致。
在我的项目中,我花了几天时间和一个领域专家讨论这个领域,现在我想把自己锁在一边,根据我的理解制作一个模型草稿,而不是与领域专家协作制作模型。然后,他可以审查它,我可以根据我们随后的讨论来更新它。
有没有人像这样工作过,或者有人认为这是个好/坏主意?我想也许我只是觉得独处的时候更容易创造性地思考。
发布于 2012-05-19 02:35:01
如果我是你的话,我可能会尽量减少“把自己锁在外面”的数量,因为你很快就会想要反馈的。DDD的一个重点是开发一个无处不在的词汇表(UV),这样开发者和用户就可以用相同的语言和方式来描述事物。你不可能独自做这件事--你必须和领域专家和用户交谈才能做到。
UV是您领域模型的基础,所以如果您已经掌握了词汇表,那么您可以自己开发一个(或多个)模型,并将它们提交给领域专家,以确保您在同一页上。这比简单地讨论和共同建立模型更危险。
请记住,这确实是一个逻辑模型--您可能需要做很多事情才能使它成为一个可行的实现的物理模型,而且领域专家可能不会太在意这个方面,只要物理模型在逻辑上仍然与您的逻辑域模型相当。
因此,我要说的是,对于初始的逻辑模型,最好与DE密切合作。如果你真的不能和别人思考,试着每天和他见面一两个小时,然后把剩下的时间花在写下你同意的内容和你对模型的任何新想法,然后在下次会议上修改。但是每天见面,避免走错路的风险。一旦您的逻辑模型是健康的,您就可以将会议减少到每周几次。
用户和开发团队之间的协作几乎总是成功项目的一个关键因素。
发布于 2012-05-18 14:50:20
关于你的解释,唯一困扰我的是“锁定我自己”。
你应该独自从讨论中发展你所理解的东西(没有领域专家),但是交流应该始终是开放的。你越早决定改变事情就越好。
要经常沟通,尽量互相理解。然而,作为开发人员,您将比他更了解您正在开发的模型,因此我认为您应该是决定如何设计模型的人。
https://softwareengineering.stackexchange.com/questions/149177
复制相似问题