我有以下类在我的应用程序:如何使用嵌套复合对象?
User
Log
LogRecord
每个用户都拥有的日志列表,以及每个日志由多个日志记录。现在,由于日志记录应该在它所属的日志被删除时被删除,所以每个日志都是一个组合。当用户被删除时,用户拥有的日志也应该被删除。所以它也是一个复合材料。
这是否意味着用户需要添加一个方法来添加一个LogRecord
对象?或者我可以从用户那里获得一个Log
对象,然后添加/删除等日志记录,然后将日志传回给用户?
我的意思是,这是否意味着我不被允许在用户环境之外讨论Log和LogRecords?我对构图的定义以及如何完成这个问题感到非常困惑。
当你说“复合”时,你是否在考虑如何UML关系“组合”? – clearwater
从编程的角度来看,我会遵循OOD原则并将事物保持在本地,因此让Log类专门管理LogRecords。由于有多个日志,你想如何挑选特定的日志?引入封装日志管理的LogManager(因为有一天你可能想要合并或拆分日志)可能会更清洁(但也更多的工作)。你做什么应该取决于你的目标当然。 – clearwater