CRUD使用DDD创建新客户

时间:2013-12-02 21:15:21

标签: domain-driven-design

我正在尝试使用从领域驱动设计中学到的知识创建应用程序。

我的问题是,在我的应用程序中,我需要能够创建一个新客户来捕获客户地址,电话号码,电子邮件地址等,我会在这里使用标准的CRUD样式,因为这不是一个真正基于任务的行动吗?

2 个答案:

答案 0 :(得分:4)

如果您的所有应用程序都要将数据存储在数据库中,那么使用简单的CRUD样式应用程序可能要好得多。如果客户条目只是更大应用程序的一部分,那么输入客户数据(例如姓名,地址等)的表格是完全合理的 - 必须以某种方式输入数据。

请注意基于任务和CRUD样式表单之间的区别:假设您希望将客户标记为已验证,并且您的客户状态可以是“新”或“已验证” 。在CRUD风格的应用程序中,只需使用一个选择框,其中包含两个选项“NEW”和“VERIFIED”,用于更改客户的状态字段。在基于任务的用户界面中,您在客户表单中有一个按钮/链接,其中显示“验证”并启动“验证任务”,例如,通过向您的域图层发送“验证客户”命令。

请注意,域驱动设计与基于任务的概念操作是正交的。它们可以很好地协同工作,特别是当使用CQRS时,它们可以独立使用。

答案 1 :(得分:1)

我无法在不深入了解用户创建环境的情况下回答这个问题(它是一个注册表单或其他内容,它的目的是什么,它是一个复杂任务的一个步骤,如购买,等...)。

你可能会发现这篇Udi Dahan的文章鼓舞人心:http://www.udidahan.com/2009/06/29/dont-create-aggregate-roots/