Oop 我应该如何组织课程集合
我有一系列的对象,每个对象都有与之相关的元数据。在典型情况下,我有一个表示对象和元数据的类,我可以将元数据作为对象的属性Oop 我应该如何组织课程集合,oop,class,collections,Oop,Class,Collections,我有一系列的对象,每个对象都有与之相关的元数据。在典型情况下,我有一个表示对象和元数据的类,我可以将元数据作为对象的属性 +---------------+ +---------------+ | Object |--->| Meta_Data | +---------------+ +---------------+ 当我想要创建一个对象集合时,问题就出现了,每个对象都与元数据的特定实例相关联 +---------------+ +-------
+---------------+ +---------------+
| Object |--->| Meta_Data |
+---------------+ +---------------+
当我想要创建一个对象集合时,问题就出现了,每个对象都与元数据的特定实例相关联
+---------------+ +---------------+
| Object |--->| Meta_Data |
+---------------+ +---------------+
元数据需要能够访问自己的邻居:
+---------------+ +---------------+
| Object |--->| Meta_Data |
+---------------+ +---------------+
a[0] = Object();
a[1] = Object();
// a[0].meta needs to be able to interact with a[1].meta
a[0].meta = Meta_Data();
a[1].meta = Meta_Data();
如果我只是创建一个对象集合(将元数据实例作为属性),那么元数据实例是孤立的,只能通过主对象进行交互。这似乎不太理想
+---------------+ +---------------+
| Object |--->| Meta_Data |
+---------------+ +---------------+
我能想到的唯一真正的替代方法是创建一些容器类,它允许我拥有:
+---------------+ +---------------+
| Object |--->| Meta_Data |
+---------------+ +---------------+
这似乎又是低效的。那么,对于可以逐项链接的对象集合,最好的方法是什么呢 那么你所拥有的是这样的:
+---------------+ +---------------+
| Object |--->| Meta_Data |
+---------------+ +---------------+
[Object]--->[MetaData]<--+
| |
+--------+