我有一個類ChatManager
,它有一個ChatServer
和一個ChatClient
(WCF)類中的內部。冒泡事件訂閱
我希望我的控制器,它實例化ChatManager
能夠訂閱是在ChatClient
的UserConnected
,UserDisconnected
和MessageReceived
事件。
什麼是最優雅和合乎邏輯的方式來做到這一點?對於我來說,像我一樣定義事件ChatClient
是愚蠢的,然後重新定義ChatManager
中的事件僅僅是爲了將事件傳遞給Controller,而不必處理或瞭解ChatClient
? ChatManager
將訂閱ChatClient
的事件,然後觸發ChatController
將會聽的自己的事件。
我知道WPF有冒泡的事件的概念,但我不知道這是否是這種情況,因爲沒有什麼是用戶界面的一部分。
史蒂夫,我想你可能是正確的兩個人的存在的理由。最初,我擁有管理員類中的所有服務器代碼和所有客戶端代碼。然後,我最近將它重新整理到兩個單獨的類中,而管理器僅僅是通過實例化服務器和客戶端來啓動服務器和連接服務器的一種手段。 我認爲這是現在擺脫'ChatManager'並讓控制器完成所有這些工作的最好方法。雖然我懷疑它是否會使控制器太臃腫。但是,我想這在邏輯上屬於它的責任。 – Cowman
+1同意。任何時候發生這種情況,都可以質疑。 – nycynik