我有一個訂單對象來表示一個預期訂單/收據。這是一個實體。它有一個身份。在OOP中,應該依賴關係持有對其父項的引用嗎?
我有一個Writer對象來讀取Order對象的屬性並很好地顯示它。
對於客戶的賬單詳細信息的所有部分都有單獨的獲取者是一件麻煩事。
所以,我想讓Writer對象從Order對象中獲取客戶端的Billing Details Value Object。 (我猜客戶的賬單細節價值對象被稱爲'依賴' - 糾正我,如果我錯了)
現在,如果我這樣做,我想這個依賴關係'知道',如果原始持久數據更改
也就是說,如果從countryId「214」變爲「35」
從而使depency可以返回新countryAsPrettyString「墨西哥」,說,而不是爲「厄瓜多爾」舊值。
所以我想我會在Order Object中有一個工廠方法,並且可以將Order對象注入到Client的Billing Details Value Object的構造函數中,所以Billing Details Object總是從Order的原始持久數據屬性派生它的屬性。
是這一行動計劃你的反應:
答:啊呀這是顯而易見的,這是非常做到這一點的唯一方法
或
B:我的天哪!在幾個月的時間裏留出一些時間來解決一些嚴重的問題 - 你會創造一系列的關聯 - 我爲你感覺到了。
或 C:[其他]
我問COS這似乎是一個雙向聯想給我。
定單有一個賬單明細對象
和
結算明細對象有訂單
,我已經讀了雙向關聯是不好的面向對象編程慣例。
Order和Billing對象之間是否存在重複的數據?如果有,他們可能會有所不同? – 2010-06-29 14:20:16
我不明白你在做什麼。你想打印一份訂單。爲此,您需要打印出賬單地址,該地址存儲在BillingDetails對象中,該對象是Order對象的屬性。是對的嗎?有什麼問題?該訂單還有一個帳單地址?如果是這樣,並且您想要使用訂單的帳單地址,那麼爲什麼您會混淆BillingDetails呢? – 2010-06-29 14:46:06
謝謝。是的:我需要打印帳單地址,這些地址目前作爲Order對象的單獨屬性進行存儲,並且正在考慮將它們分組到BillingDetails對象中,該對象將是Order對象的屬性。我想通過「有什麼問題」的問題 - 這是不正常的。回覆:「你爲什麼一直在討論BillingDetails」 - 我認爲它的主要原因是我將所有這些概念保留爲一個概念,所以相關的方法不會使OrderObject變得龐大。 – 2010-06-29 15:08:49