Pattern utilizzati nella progettazione dell'applicativo

Pattern Mediator

Scopo del pattern e' disaccoppiare le varie parti interconnesse quando le interconnessioni sono molte. HumanDevicesController funge da Mediator tra CounterController e i Display e tra CounterController e i pulsanti. I Display non sono di fatto a conoscenza di chi effettua concretamente la segnalazione di un nuovo valore da visualizzare. CounterController non sa quanti Display sta pilotando ne' dove si trovino.

Pattern Factory

Il pattern Factory viene utilizzato per la creazione dei bottoni delle console e dei display. La creazione dell'istanza avviene richiamando un apposito metodo della factory passando magari dei parametri utili a definire quale istanza si vuole creare.

Pattern Iterator

Viene utilizzato per gestire l'invio dei messaggi a tutti i display connessi allo HumanDeviceController. Permette di muoversi all'interno di strutture composte correttamente attraverso le sole primitive definite dalla struttura stessa.