Java: il meccanismo degli eventi INDIPENDENTEMENTE dalle GUI

di il
2 risposte

Java: il meccanismo degli eventi INDIPENDENTEMENTE dalle GUI

Salve a tutti,
da poco tempo ho deciso di mollare C# e Xamarin per dedicarmi esclusivamente allo sviluppo Android con Java. Prima di cimentarmi con Android sto cercando di fissare alcuni concetti teorici del linguaggio Java. Uno di questi che al momento non riesco bene a focalizzare riguarda la gestione degli eventi che è molto diversa da ciò che capita con C#.
Qualcuno potremme indicarmi una buona guida (anche in inglese) sulla gestione degli eventi in Java ricca di esempi e che non abbia nulla a che fare con le interfacce grafiche? Pare che per le persone il concetto di evento sia necessariamente legato a quello di gui ma non è affatto vero e questo porta solo ad una grande confusione.

Grazie per l'attenzione.
Filomena

2 Risposte

  • Re: Java: il meccanismo degli eventi INDIPENDENTEMENTE dalle GUI

    La versione "generica" e' il "listener", ed il design pattern 'observer'.

    https://stackoverflow.com/questions/3358622/observer-design-pattern-vs-listeners
    https://it.wikipedia.org/wiki/Observer_patter
  • Re: Java: il meccanismo degli eventi INDIPENDENTEMENTE dalle GUI

    filograndipad2 ha scritto:


    Qualcuno potremme indicarmi una buona guida (anche in inglese) sulla gestione degli eventi in Java ricca di esempi e che non abbia nulla a che fare con le interfacce grafiche? Pare che per le persone il concetto di evento sia necessariamente legato a quello di gui ma non è affatto vero e questo porta solo ad una grande confusione.
    Partiamo da una questione base: il linguaggio Java in sé non ha nulla di intrinseco/predefinito relativo alla gestione degli "eventi". Tutto ciò che si può fare per gli eventi si fa tramite una apposita "architettura" che si basa sulla programmazione ad oggetti.

    Java oltre alle classi ha le interface (astrazioni "pure"). Il meccanismo di "callback" basilare si può fare tipicamente con una interface. La classe X riceve un oggetto di interfaccia Y. Quando X vuole segnalare "qualcosa", invoca un metodo sull'oggetto di interfaccia Y. Questo è il meccanismo basilare delle callback.

    Un po' più sù c'è il noto design pattern "Observer", che può essere sì certamente fatto con l'uso di una interface ma è anche di più nel senso che l'oggetto "osservabile" mantiene di norma una lista di "osservatori" a cui notificare qualcosa.

    Ancora un po' più sù ci sono i listener delle interfacce grafiche AWT/Swing che sono alla fin fine una "specializzazione" del pattern Observer.
Devi accedere o registrarti per scrivere nel forum
2 risposte