我有兩個對象,ObjectA和ObjectB。 ObjectA需要在ObjectB上調用事件。我一直在尋找一個好的設計模式來允許ObjectA這樣做,因爲我不想公開任何人做這件事的公共方法,但是ObjectA真的需要做這些事件的發射。兩個對象的交互之間的設計模式
有沒有一個好的模式,或任何意見?
謝謝。
我有兩個對象,ObjectA和ObjectB。 ObjectA需要在ObjectB上調用事件。我一直在尋找一個好的設計模式來允許ObjectA這樣做,因爲我不想公開任何人做這件事的公共方法,但是ObjectA真的需要做這些事件的發射。兩個對象的交互之間的設計模式
有沒有一個好的模式,或任何意見?
謝謝。
對象A需要調用的對象B
以及你描述它聽起來像一個發送命令至B,這使得Command模式常規疑似的方式活動。
另外的方式來建立A和B之間的近距離遭遇可能會變成複雜的足夠的理由建立一個獨立的對象C 調解它們之間的相互作用 - Mediator模式
謝謝,我會研究一下。 –
如果一個對象需要調用另一個類的方法,它聽起來不像是一個好的設計。
一直在其他類實例上調用方法的實例...這對OOP很常見...... –
您忘記了有很多很多窮人OOP的實現。 –
阿門那。但看看我的第二個評論,因爲架構迫使我的設計,否則我會有一個非常非常大的控制。 –
也許考慮Observer Pattern。這通常用於一個對象需要接收來自另一個對象的通知。
更具體地描述該問題將幫助我們找出你真正需要的更好。從你描述的只是範圍。 ObjectB需要訪問一些你不想公開的ObjectA的方法。所以他們必須成爲「朋友」。 –
如果語言是java或c#,您可以使這些方法具有「包」可見性。 –
ObjectA是一個提供者類,ObjectB是一個.NET控件。而不是讓.NET控件真的很大,我使用一個提供者來完成這個工作(ObjectA),但是我需要讓ObjectA調用ObjectB的事件......我正在尋找更多的表示模式,或許是某種東西其他。 –