【发布时间】:2012-09-04 11:29:28
【问题描述】:
我正在使用 C# 3.0 和 ASP.NET 3.5 以及 SQL Server 2008 R2 后端编写一个简单的项目管理系统。
目前它本质上是一个数据驱动的应用程序,具有基本的 CRUD 功能、少量的业务逻辑和一些验证。
预计该系统将增长为包含更复杂的业务功能,我有兴趣尝试使用领域驱动设计 (DDD) 的原则对其进行改造。
我意识到这对于系统目前的状态来说是多余的,我预计现在会创建一个贫血的域。
该系统由客户、客户、项目、组件和活动组成。
一个客户有 0,1 个或多个客户。 客户有 0,1 或多个项目 一个项目有 0,1 个或多个组件,并且 一个组件有 0,1 或多个活动。
我将如何使用 DDD 进行建模?我是否将客户、客户、项目、组件和活动作为聚合根,或者我将拥有一个聚合根(客户)并将客户、项目、组件和活动作为可通过客户访问的实体?是否有推荐的方法来建模实体/聚合根之间的多对一关系?
我意识到这并没有涉及值对象(显然客户、客户等包含多个属性)等,但我在这里是一个完整的初学者,并且希望得到一些指针,就像一个接近完整的答案一样。
对于这个问题的开放式性质表示歉意,我已经有了一个工作系统,但正在展望未来。
谢谢, 丰富。
【问题讨论】:
-
一个好的领域模型由一组相互连接的对象组成,这些对象相互交互以处理业务用例。如果要使用 DDD,首先需要弄清楚用例是什么。您能否添加有关您的项目支持哪些用例的更多信息?
-
感谢您的回答。我想我会去阅读领域驱动设计。
标签: c# domain-driven-design asp.net-3.5