Nella mia applicazione client ho due componenti principali:
-
Core: wrapper che gestisce tutto ciò che riguarda l'esecuzione dell'applicazione vera e propria
-
NetworkClient: un livello che si occupa della comunicazione (ricezione / invio di pacchetti) con il server.
Ciò di cui non sono sicuro è il modo in cui NetworkClient deve fornire informazioni al processo principale dell'applicazione. Il processo principale ha una coda di eventi che viene eseguita nelle chiamate update (). La mia idea iniziale è di avere qualcosa del genere:
- NetworkClient riceve un'istantanea delle modifiche di stato
- Prende quella istantanea
- Riduce gli oggetti evento per il processo Core da gestire.
Il problema che vedo con questo, non è la classe NetworkClient troppo dipendente dalla classe Core? L'opposto non è un problema, tuttavia, poiché può esistere un client diverso (UDP, TCP, ecc.) Che funziona con la classe Core.
Quindi dal punto di vista del design, c'è un motivo per cui non vorrei che la classe NetworkClient fosse scritta per l'implementazione specifica della classe Core?