所以我对DDD很新,我正在努力为我现在的雇主(房地产代理商)建立一个可扩展且灵活的系统,这将有助于我们加快公司内部程序的速度.
如上所述,我们在房地产.我正在尝试定义我们的UL,并且在构思某些复杂实体时遇到了问题.
例如:在房地产方面,"房地产顾问"将访问潜在的"客户家"并对其"房产"提供"评估".上市后,这个"评估"成为"上市",也可以成为"已售出房产"或"已撤回房产".有很多不同的州可以使用"财产".我是应该将"财产"定义为实体还是应将每个单独的州(评估,上市,出售,撤回)定义为单独的实体?
当我们将"客户"添加到组合中时,问题变得更加复杂.客户可以是"业主","购买者","买方","Tennant","投资者","开发者"以及许多其他人.最重要的是,客户可以是多个客户的组合!同样,"客户"应该是实体,所有这些状态只是作为"客户"实体的属性来表示,还是应该是独立的实体?
最重要的是,"客户"实体与"财产"实体的关系如何.它是一个多对多的关系,我认为没有简单的方法来组合它.DDD似乎表明实体在其存在时应该是唯一的,因此意味着我不能拥有带有附加"客户"实体列表的"财产"实体,而不会使我的"客户"实体表现得像VO.反之亦然,在考虑"客户"实体时,列出其相关的"财产"实体.
关于这个问题,过去两周我一直在阅读8小时.它非常混乱,我还没有解决这个烂摊子.任何有关正确方向的帮助和指示都将不胜感激!