我在尋找描述某種情況的模式。也許有人知道的東西,可以給我一個提示尋找特定的設計模式
情況對象的類型A,1:n關聯到類型B的對象。示例:一個人和他的所有寵物。寵物對象有年齡數據成員。現在每個人都應該有一個他的寵物平均年齡的數據成員。我不希望這些信息被保存和加載,但要在加載過程中進行計算(所有必要的信息已經存在,所以這是多餘的,但我想要人物對象中的信息)。
問題那麼我該如何以面向對象的方式做到這一點?有沒有描述這種情況的模式?我的第一個想法是有一個ComputedFieldsUpdater類,它接受一個寵物對象,然後計算所有尚未加載的字段。但我想知道這是否是正確的方式,或者是否可能有更優雅的解決方案?
感謝您的想法。
甚至更好的平均然後可以被緩存,而不是每次都重新計算 – MahdeTo 2009-04-30 05:59:51
「從一個面向對象的點關於平均值的信息不應在Person直接無論如何。「 - 我對此不太確定。通常在OOP中,一些代碼想要請某個類來執行計算 - 而不用擔心數據的內部或中間表示。我認爲像person.getPetsAverageAge()這樣的東西會是一個合適的方法。 – harto 2009-04-30 06:56:44