Vediamo quali proprietà hanno i bean Java:
- Costruttore senza argomenti.
- Getter e setter per tutti gli stati.
- Serializable.
Che cosa significa questo , tuttavia?
- Può essere costruito facilmente senza dipendenze.
- Stato semplice.
- Può essere inviato facilmente attraverso uno stream, ad es. un file o un socket.
- Nessuna menzione del comportamento : mentre non è vietato, siamo incoraggiati ad avere oggetti di stato ma privi di comportamento.
Questo descrive perfettamente un oggetto che modella lo stato, non il comportamento. In idiomi popolari come MVC o MVVM , un bean è un modello .
Se si dispone di un oggetto che rappresenta dati che possono essere passati tra oggetti o con altri sistemi, questo è un candidato perfetto per un bean Java.
Se si dispone di un oggetto che esegue azioni e indirizza il traffico, questo è non un candidato per un bean Java. Se si dispone di un oggetto che gestisce una vista, ovvero converte lo stato in un formato adatto per la presentazione all'utente, anche questo non è un candidato per un bean Java.
Detto questo, le tre proprietà non sono esclusive per i bean Java e altri oggetti potrebbero tecnicamente cadere nella categoria bean. Tuttavia, i bean sono esattamente come pensiamo e utilizziamo un oggetto come i tre vincoli sopra menzionati.