0

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

  • User
  • Log
  • LogRecord

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

这是否意味着用户需要一个添加LogRecord对象的方法?还是允许我Log从用户那里获取一个对象,然后从中添加/删除等日志记录,然后将日志传回给用户?

我的意思是,这是否意味着我“不允许”在用户上下文之外谈论 Log 和 LogRecords?我对组合的定义以及应该如何完成感到非常困惑。

4

1 回答 1

1

我的意思是,这是否意味着我“不允许”在用户上下文之外谈论 Log 和 LogRecords?

如果要对真实组合进行建模,则在实例化 User 对象后将无法访问 Log 和 LogRecords(请参阅Java 中 Aggregation 和 Composition 之间的实现区别)。

但是,我认为您想在这里建模一些不同的东西。您可能希望在实例化 User 对象后创建 LogRecord 对象和潜在的 Log 对象。然后,您必须将其建模为聚合。

于 2013-06-23T21:24:38.330 回答