是DDD适用于各类应用的?(Is DDD suited for all kinds of appli

2019-09-20 20:48发布

我看到了很多在这里提出的问题和其他论坛都像一个常见的反应:“你不必为做DDD,它的一个简单的CRUD应用程序,DDD是一种过度工程”。

嗯,我是新来DDD,我觉得有很多的DDD具有普遍的吸引力,可以全线使用的元素,不论事实您的应用程序是否复杂enuf,强制DDD。 例如,分层的应用,可依使用文物,DDD识别等可以与基本知识,并承认贫血模型来启动,然后运行/重构向尽可能多的纯度可以得到。

请问这种方法听起来不错?
或者你会说,没有在是否去DDD的方式或不方面在每一个应用程序设计的基本选择,一种“全或无”的选择呢?

更新 (休的评论下面提供更多的背景下,响应)
我建立围绕现有RuleEngine样的应用,基本CRUD和一些验证,不变量,然后部署的过程的Web应用程序。 规则创作和语义检查是通过一个独立的代码,我称之为作为语义特定的逻辑的CRUD的一部分,并且未出现在我的代码来完成。 我试图使用DDD此应用程序,但我认为它可能没有足够复杂到融入DDD模式。 有没有足够的专业超出命名集参与实体的IE浏览器的语言域中定义没有无处不在的语言。 我听见自己的领域专家创建,编辑,删除实体来说的。

Answer 1:

DDD是不是全有或全无。 此外,许多在DDD描述的模式都不是新的,可所有的地方被发现。 Eric Evans的(DDD的书的作者)只是组装他们,他们正式在需要的地方,并设置它们彼此相关。 您可以自由使用什么适合你的问题的空间。

什么是常常被忽视:DDD描述的实施模式以及分析模式。 分析模式可能是矫枉过正,在许多(如果不是大多数)应用程序,但执行模式(即实体规格服务 )可以有很大的使用不太复杂的情况下也是如此。



Answer 2:

简而言之,

如果只是CRUD,我不会理会。

另一方面,

如果它有问题,那里的东西下一状态依赖于以前的状态,然后DDD是你可能要考虑的东西。



文章来源: Is DDD suited for all kinds of application?