2010-01-29 104 views
2

我们的团队对于领域驱动设计来说相当新颖。我们有一个刚刚从设计阶段转入编码阶段的新项目。在设计阶段,一些团队成员在Visio中创建了UML设计模型,而其他人则刚开始编写代码。另外,随着版本发布的压力,我们的许多型号很快就会过时。对象模型在领域驱动设计中的重要性

让对象模型保持最新是否很重要?让所有/大部分子系统拥有它们很重要吗?

+0

你问:“保持文档与代码同步(当执行DDD时)是否很重要?” – raoulsson 2010-01-29 18:33:06

+0

是的,这是问题的一部分,如果模型首先要做的比较重要。 – alchemical 2010-01-29 19:07:26

+0

在Visual Studio中,您可以将模型类拖放到类图上并使其自动更新。保持UML图保持最新状态,仍然有助于从计算机远离设计审查。 – 2010-02-12 18:03:46

回答

1

我想答案是“它取决于”,不是吗?

如果项目很小,变化速度很快等,模型的投资回报率可能很糟糕,最终所有重要的是工作代码。另一方面,对于具有高度仪式和不断变化的开发团队等的多年期多阶段项目,您将从某种文档中获益良多。对象模型可以是一个这样的文档。

没有银弹毕竟,所以,这取决于你的项目位于规模的结束,你可能会发现模型是非常有价值的,或只是维护成本高。

4

您对代码(和模型)的最佳文档是代码和数据库模式。在代码之外开发模型对理解问题有一定价值,但正如您最终发现的那样,这些模型会成为一种负担。如果你打算使用它们,你需要花时间保持它们的最新状态。敏捷的哲学会说,只有投入尽可能多的时间来维护这些,因为您从中获得了价值。一般来说,这并不算什么,因为代码无论如何都是最终的权威。如果您有监管要求,可能会有不同的情况,但是如果您需要文档来描述它,通常会在模型翻译成代码并根据需要直接从代码/模式重新生成模型时丢弃该模型。

0

拥有任何类型的文档的目标是帮助开发,而不是阻止它。开发人员知道模型是如何工作的,以及代码和记录内容之间的主要区别。

但是,您应该意识到,您将没有任何材料(代码本身除外)向团队中的新员工展示说明,并且需要一些时间来教授新员工。

所以它决定什么是最有效的问题。如果保持模型过时使团队更快,请勿更新模型。如果更新模型会稍微改进开发,那么您应该这样做(不管多么无聊)。

0

User Story Level以下的任何文档与实现细节直接相关,因此与volatile事实(Why vs. How)有直接关系。它(如何,模型)因此不应该手动维护,而是为了开发人员通信改进而在需要时生成。

文档在任何时候都保持良好状态。如果你不能保证,去的源代码文件(并保持它作为您更改代码),因为你需要从你的代码生成尽可能多的UML,当你需要它

然后再次丢弃生成的文档。它只是帮助您更好地与开发人员沟通。它没有更多的价值。

今天刚刚开始:一位开发人员用一张漂亮的Visio图表向我走来,打印在纸上,看起来非常漂亮。我打开IDE并向他展示源代码与他手中的文档略有不同。花了一些时间让我清楚,代码胜过文档。总是。

+0

我不知道可以从对象中自动生成智能且易于理解的UML模型的软件......这真的有可能吗? – alchemical 2010-01-29 19:09:37