我有定义某些实体结构的代码,例如:
case class EntityDefinition(id: UUID,
name: String,
propertyDefinitions: Map[String, PropertyDefinition] = Map.empty[String, PropertyDefinition])
我有以下实体代码:
case class Entity(entityDefinition: EntityDefinition,
id: UUID, key: String,
properties: Map[String, Property[Any]])
每个实体是否会占用额外的内存来存储它的entityDefinition实例?我打算保持EntityDefinitions的数量非常低,但每个都会占用很大的数量。
所以问题是是为实体保留这个结构,还是实现某种类型的Reference,它会根据需要从缓存中获取实体定义?