假設有電腦、人 這麼兩個類,如圖所示。
class person
{
computer myComputer;
}
class computer
{
person myOwner;
}
用工廠模式
如果我要創造小明這個人,那麼我要用人的工廠去創造小明,在創造的時候我要set他有個HP電腦,
那麼我又要用電腦工廠去創造HP電腦。但是創造HP電腦的時候我又要去用人的工廠創造小明這個人,這不就是循環下去了嗎?
所以我納悶了,1要麼這樣設計類是不正確的,2要麼有其他辦法解決這個問題
學習得不好,請大神解答
小明應該不是抱著電腦出生的, 而HP電腦在生產時應該也沒有打著小明的簽。 所以構造時可能不必提供相應的參數。當然抽象可能不一定需要完全遵照現實。
其次,電腦一般情況下對於誰是自己的Owner可能不太關心,如果可以去除這種依賴最好,單向依賴比雙向依賴簡單, 簡單就一定是好的。