我不知道最佳做法是什么。 比方说,我有一些分层对象:对象之间的沟通
Neighborhood
Family
因此,每个家庭住在附近。 的对象映射这样的:
class Neighborhood {
public $id;
public $name;
public $nr_families;
}
class Family {
public $id;
public $name;
public $neighborhood_id;
}
每个对象模型它自己的数据库表。一个类型的所有对象都保存在全局scape中的数组中,所以有2个数组。
在CREATION DATE中,如何从邻里对象内部知道该邻居中有多少家庭,而无需再次查询数据库或访问全局家庭数组?我们假设Family数组是先生成的,它们已经在那里了,现在当我生成Neighbour阵列时,这些对象需要有一个属性,每个属性都有一个族。该属性与数据库字段不匹配,必须在运行时进行计算。
有没有设计模式?我应该使用某种第三个对象吗?
但家庭的数量不能是附近的财产吗?我不存储有关Family对象的信息。 – Dan
当然,你可以懒加载它 - 见编辑答案。至于邻里的家庭数量是通过财产还是访问者(获取者)访问 - 谁在乎。访问器更灵活。 – alexantd