我想问:在不同的程序集上拆分域名是否合适? 例如,我有两个实体User和Equipment,这些实体与earch不相关。 有两个域组件(用户和设备)并将它们存储在不同的数据库中是否有用? 如果我的应用程序连接到不同的数据库,不同数据库中的实体应该在不同的域程序集中吗? 请解释一下你的答案!
答案 0 :(得分:1)
首先,您的域模型应该不了解持久层。连接到不同或多个数据库的应用程序不应影响您的域模型或其规则,因为它会破坏使用DDD的目的。
您可以根据部署模式拆分程序集。您可以将域模型和持久性基础结构放在同一个程序集中,并保持关注点的分离。逻辑分离是唯一重要的事情。
答案 1 :(得分:0)
分裂方法确实有助于依赖管理,但不是必要的。
依赖管理的粒度决定了成本。如果我们能够在更粗略的水平上管理它,那将会低得多。该方法实际上指导团队不将用户与设备联系起来。 但是成本是否值得获得?这取决于您的项目和团队。
分裂数据库也是如此。团队不太可能将T_USER与T_EQUIPMENT联系起来。他们必须使用易于查找和审查的dblink或grant。
再见,这种方法是通用的,而不是特定的ddd。