PDA

View Full Version : [Design Pattern] Quale design usare?


tomminno
02-05-2008, 13:02
La struttura del programma è questa:
Via socket arrivano dei messaggi xml.
Questi messaggi vengono mappati su delle classi Command, che hanno bisogno di interagire con altre classi (eseguono delle operazioni, modificano lo stato dell'interfaccia grafica, rispondono con il risultato dell'operazione).

Avevo pensato al factory per la creazione dei comandi, ai quali passo anche il riferimento alla classe centrale che funge da Mediator tra le classi del programma per consentire lo scambio delle informazioni.

Però la struttura non mi piace molto perchè intanto deve essere tutto istanziato nel Mediator il quale non può delegare a qualcun altro lo scambio di messaggi tra i vari Command e le altre classi.

Design alternativi e migliori?

nuovoUtente86
03-05-2008, 16:13
Per le interfaccie grafiche l' utilizzo di mediator o observer è d' obbligo se vuoi fare le cose bene.Per il motore applicativo...se devi switchare la tua classe Command in base al messaggio ricevuto...non è affatto malvagia l' idea del factory

tomminno
04-05-2008, 11:47
Per le interfaccie grafiche l' utilizzo di mediator o observer è d' obbligo se vuoi fare le cose bene.Per il motore applicativo...se devi switchare la tua classe Command in base al messaggio ricevuto...non è affatto malvagia l' idea del factory

Il mio problema è scegliere il metodo di comunicazione tra i vari Command e le classi che questi devono usare.
Perchè mi sembra che ci sia per forza bisogno di un mediator, che per fare da mediatore deve istanziare lui tutte le classi che servono e sua volta dovrà ricevere dai Command delle notifiche su quale classe usare e quale metodo chiamare e con quali parametri.
Ma così sono tornato punto e a capo, nel senso a che serve tutta la complicazione dei Command quando potevo fare lo stesso partendo dal messaggio xml?
E' meno elegante ma c'è molto meno codice da scrivere e probabilmente anche qualche problema di sincronizzazione in meno.