Sto rielaborando un codice e un problema con il recupero dei dati da due processi paralleli.
Ho un'applicazione che invia i pacchetti avanti e indietro tramite mezzi diversi (es: RS232, TCP / IP, ecc.). Il jist di questa domanda è che ci sono due processi paralleli in corso.
Spero che l'immagine qui sotto mostri cosa sta succedendo meglio di quanto non possa dire:
La classe SetupRS232 () crea una nuova istanza di SerialPort di:
SerialPort serialPort = new SerialPort();
La mia domanda è, qual è il modo migliore in cui la classe Communicator (), che invia il pacchetto tramite il rispettivo supporto, ottiene l'accesso all'oggetto SerialPort dalla classe SetupRS232? Posso farlo con un Singleton, ma ho sentito che generalmente non sono il miglior progetto da seguire.
Sto cercando di seguire SRP ma mi sento come se stessi facendo qualcosa di sbagliato qui. Communicator () dovrà uscire dal suo modo di accedere a SetupRS232 () per ottenere l'accesso alla classe SerialPort. In realtà non ho ancora trovato il modo di accedervi.
Progettare ciascuna classe media, ad esempio SetupRS232 (), SetupTCPIP, come singleton, sarebbe il modo migliore per affrontare questo problema?