Disegno ed eventi

  • L'invio di ogni evento ad ogni oggetto può diventare particolarmente oneroso, dato che sia gli eventi che gli oggetti sono tanti
  • Per ovviare a questo inconveniente si adottano due strategie:
    1. Ogni evento gestito va abilitato. Se un certo evento non è abilitato, il sistema non ce lo invierà, risparmiando tempo
    2. È possibile implementare dei "listener"
      • Una classe che vuole gestire un determinato evento si dichiara listener per quell'evento (tramite un'interfaccia, che vedremo in una prossima lezione)
      • La classe listener si registra presso la classe che le dovrebbe inviare i messaggi (tramite la superclasse si registrerà nel sistema)
      • Il sistema invia gli eventi solo alle classi registrate come listener
      In questo modo, oltre a limitare il numero delle classi che ricevono gli eventi, si evita anche una lista piuttosto lunga di chiamate nidificate

© Ing. Stefano Salvi - All rights reserved