如何使用嵌套的复合对象

本文关键字:复合 对象 嵌套 何使用 | 更新日期: 2023-09-27 18:19:31

我的应用程序中有以下类:

  • User
  • Log
  • LogRecord

每个用户都有一个日志列表,每个日志由多个日志记录组成。现在,由于日志记录应该在它所属的日志被删除时被删除,所以每个日志都是一个组合。当用户被删除时,该用户拥有的日志也应该被删除。所以它也是一个复合物。

这是否意味着用户需要一个添加LogRecord对象的方法?或者我可以从用户那里获得Log对象,然后从中添加/删除etc日志记录,然后将日志传递回用户?

我的意思是,这是否意味着我不被"允许"在用户上下文之外谈论日志和LogRecords?我对作文的定义和应该如何做感到困惑。

如何使用嵌套的复合对象

我的意思是,这是否意味着我不被"允许"谈论Log和用户上下文之外的日志记录?

如果您想对真实的合成进行建模,那么在实例化User对象之后,您将无法访问Log和LogRecords(请参阅Java中聚合和合成之间的实现差异)。

然而,我想你会想在这里做一些不同的模型。您可能希望在实例化User对象后创建LogRecord对象,并可能创建Log对象。那么,您必须将其建模为一个聚合。