Ho una classe ChatManager
, che ha una classe ChatServer
e una classe ChatClient
(WCF) al loro interno.Bubbling up eventi da sottoscrivere a
Voglio il mio controller, che crea un'istanza della ChatManager
di essere in grado di iscriversi agli eventi UserConnected
, UserDisconnected
e MessageReceived
che sono sul ChatClient
.
Qual è il modo più elegante e logico per farlo? È sciocco da parte mia definire gli eventi nello ChatClient
come ho fatto io, e quindi ridefinire gli eventi nel ChatManager
unicamente per passare gli eventi al Controller senza che debba occuparsi o sapere dello ChatClient
? Lo ChatManager
si iscriverebbe agli eventi dello ChatClient
e quindi avrebbe attivato i propri eventi che sarebbero stati ascoltati da ChatController
.
So che WPF ha il concetto di bubbling di eventi, ma non so se questo è per questo tipo di scenario, dal momento che nulla è parte di un'interfaccia utente.
Steve, penso che potresti avere ragione riguardo alla giustificazione dell'esistenza di entrambi. Originariamente avevo tutto il codice server e tutto il codice client nella classe manager stessa. Di recente ho quindi effettuato il refactoring di tutte le due classi separate e il gestore è semplicemente un mezzo per avviare il server e unire i server istanziando il server e il client. Penso che sia la mossa migliore per sbarazzarsi di 'ChatManager' ora e fare in modo che il controller faccia tutto. Anche se mi chiedo se renderà il controller troppo gonfio. Ma immagino che logicamente ricada nelle sue responsabilità. – Cowman
+1 concordato. Ogni volta che succede, è bello metterlo in discussione. – nycynik