Schema dell'osservatore reciproco in Java

4

Voglio migliorare le mie abilità di pattern multi-threading e di design. Come tale sto progettando un server di Instant Messaging.

Sto scrivendo il server per primo.

Il mio piano finora è di avere classi "Proxy" del client per gestire la connessione socket per ogni Client. Voglio avere una classe "Exchange" che accetta un messaggio da un Proxy client e lo consegna al Proxy client del destinatario.

Stavo pensando che sia il Cliente che Exchange si osservano a vicenda in questa situazione tramite il Pattern dell'Osservatore. Osservatori reciproci per così dire, con Client Proxy ed Exchange come Observer e Subject.

Pensando ulteriormente, dovrei invece avere solo lo scambio come osservatore e proxy client come soggetti multipli per lo scambio?

- Ulteriori pensieri

Sembra che alla gente piaccia l'idea dell'osservazione reciproca tra Proxy e Exchange. Stavo pianificando ogni Proxy Client in esecuzione in un thread separato. Lo scambio diventerebbe il collo di bottiglia se c'è un solo oggetto?

A me sembra che potrei aver bisogno di un pool di oggetti di scambio, ma non sono sicuro di come si collegherebbe al pattern Observer, anche se avessi una specie di broker di fronte al mio pool di lavoratori.

    
posta retrodev 11.09.2013 - 15:48
fonte

1 risposta

0

Penso che visualizzare sia il proxy di Exchange che quello del client come osservatori ha senso. Logicamente, gli eventi possono accadere in entrambi i luoghi, quindi è logico che ciascuno "guardi" l'altro per un evento.

    
risposta data 11.09.2013 - 16:10
fonte

Leggi altre domande sui tag