1

下面的图像(即不可导航的组合关系)在域模型的早期 UML 类图中是否有意义?

班级

我想表达的是不可能这样做Company.Accounts,但是如果 Company 对象被销毁,所有 Accounts 也将被销毁。我的动机是避免类成为本问题Company中讨论的某种上帝对象反模式。用数据库术语:有一个外键来自. 在实际的应用程序中,几乎所有东西都归公司所有,出于性能原因,我不想让懒惰/急切地加载公司的所有子集合。Account --> Company

我想最终的图表可能会有一个IAccountRepository(见下图),但我发现将所有内容放在那里会给类图带来负担。想象一下为每个子集合添加额外的基础设施类。类图将变得不可读!

类图2

您如何在领域模型中传达加载将是“间接”的想法?它甚至去那里吗?

对此有任何参考或行业标准吗?

谢谢。

4

1 回答 1

0

您正在将行为建模与静态模型混合。如果从不直接访问,您在Company和之间设置的关系是可以的,但是如果您在该访问中有函数,那么您的模型是错误的。AccountCompany AccountCompanyAccount

据我所知,无法模拟一方面Company是由哪些帐户组成,Accounts但帐户实际上存储在另一个地方。您的第二个图表不正确,因为如果Company由 组成Accounts,则IAccountRepository应该通过Company而不是直接访问它们。

恕我直言,Account应该具有从 to 的组合,从toIAccountRepositoryAccount关联,并且在删除公司时的序列图中,它的所有帐户都将被删除。CompanyAccountICompanyRepository.deleteCompany

于 2012-11-11T09:54:38.347 回答