我不知道最佳做法是什麼。 比方說,我有一些分層對象:對象之間的溝通
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