TruckStop有一個List(TruckClass)和一個稱爲Weigh()的方法。 TruckClass需要調用Weigh()。以下兩種設計的優點/缺點是什麼? TruckClass具有對TruckStopClass的引用並調用MyTruckStopClassReference.Weigh()Vs. TruckClass引發由TruckStopClass處理的TruckClass.Weigh事件。。網絡設計優點/缺點:彼此參照對象比。活動?
我讀過引用對象的對象不會影響GC,但它需要每個TruckClass中的額外引用。在硬幣的另一面,我讀過「事件處理程序」也是參考文獻,如果您沒有取消它們,可能會導致問題。對於這個問題的優點/缺點/最佳實踐/意見,我們將不勝感激。
我想你只有一輛卡車停下來,有一個或多個磅秤和許多卡車。在可能的情況下堅持實際 - 卡車停止管理磅秤,因此您的TruckStop類必須在卡車上調用GetWeigh()。你不能相反,因爲卡車不知道是否有規模可用或不是他們的工作知道 –
卡車/ TruckStop是一個製造的例子。更不用說卡車司機可能決定在決定權衡之前首先獲得燃料。我更關心的是在「子類」必須觸發某個「父類」方法調用的情況下,相互引用的對象相對於引發事件的對象的優點/缺點。 – N0Alias
如果孩子不需要,孩子可以與父母聯繫在一起。他們有單獨的責任,應該這樣對待。關於垃圾收集器的討論在這一點上是過度的。 –