使用DDD构建表单系统

时间:2010-02-25 12:51:41

标签: c# asp.net asp.net-mvc domain-driven-design specification-pattern

我正在构建一个表单管理系统,也就是说,系统将包含许多表单,将保存它们,并对它们执行逻辑,我想使用DDD方法来完成它。

我想稍后使用ASP.NET MVC支持简单的表单布局,到目前为止,我看到这样的域名:

我将有一个基本表单实体,它应该(现在)有一个名称,字段(和theire值)和验证逻辑。

我的问题是:

  1. 我应该如何使用泛型编写字段值对象?我似乎无法弄清楚..
  2. 我应该将验证逻辑封装在表单中还是使用规范模式进行?

2 个答案:

答案 0 :(得分:2)

  

我应该如何使用泛型编写字段值对象?我似乎无法弄明白。

太模糊的问题。稍微指定一下你的上下文 - 你想要定义什么样的值对象,为什么你需要泛型等。

  

我应该将验证逻辑封装在表单中还是使用规范模式进行?

验证逻辑进入it has to go。域验证逻辑应该封装在规范中,但这不是强制性的。主要内容 - 在查看域对象类定义的源代码时,您应该能够找出并理解应用的验证。

答案 1 :(得分:0)

除了模糊的描述之外,处理表单是一个本质上非常适合DDD的问题。您可以从一个平面的选项​​列表中构建什么样的对象模型?

当然,您需要特定于正在使用的表单的验证逻辑,但简单的OO设计将在这里让您足够远,我不知道DDD会给您带来什么。

作为旁注,请查看文档数据库,它们可能比存储在ObjectDb或关系数据库中的复杂域模型更适合您的任务。