我正在使用带有 SQL Server 2008 R2 后端的 C# 3.0 和 ASP.NET 3.5 编写一个简单的项目管理系统。
目前它本质上是一个数据驱动的应用程序,具有基本的 CRUD 功能、少量的业务逻辑和一些验证。
预计该系统将增长为包含更复杂的业务功能,我有兴趣尝试使用领域驱动设计 (DDD) 的原则对其进行改造。
我意识到这对于系统目前的状态来说太过分了,我预计现在会创建一个贫血的领域。
该系统由客户、客户、项目、组件和活动组成。
一个客户有 0,1 个或多个客户。客户有 0,1 或许多项目 项目有 0,1 或许多组件,组件有 0,1 或许多活动。
我将如何使用 DDD 进行建模?我是否将客户、客户、项目、组件和活动作为聚合根,或者我将拥有一个聚合根(客户)并将客户、项目、组件和活动作为可通过客户访问的实体?是否有推荐的方法来建模实体/聚合根之间的多对一关系?
我意识到这并没有涉及值对象(显然客户、客户等包含多个属性)等,但我在这里是一个完整的初学者,并且会喜欢一些指针,就像一个接近完整的答案一样。
为这个问题的开放式性质道歉,我已经有了一个工作系统,但正在展望未来。
谢谢,里奇。