Command pattern: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: apostrofo dopo l'articolo indeterminativo |
|||
Riga 44:
# A fronte di ''n'' possibili lavori (azioni) si rendono necessarie diverse sottoclassi: una per ciascuna azione da implementare ed una per ogni possibile composizione di azioni base (ad esempio dipingere camera e montare di seguito gli scaffali). Qualora invece le azioni fossero ''Command'' indipendenti dal RoomHandler, sarebbe possibile creare istanze su quest'ultimo piuttosto che creare sottoclassi.
# ''RoomHandler'' contiene sia il codice di gestione delle camere che il codice che esegue le azioni: esso è sovraccarico di responsabilità ed estendere un'azione comporta un
# Testare di oggetti con numerose responsabilità è in genere complesso ed oneroso. Incapsulare le azioni in ''Command'' rende possibile il testing esclusivo su ciascuna azione (eventualmente ricorrendo all'uso di [[Mock Objects|Mock]]) il che semplifica notevolmente la fase di testing e validazione.
|