Prima di tutto sto sviluppando un parser per un formato basato su XML per la grafica 3D chiamato XGL. Ma questa domanda può essere applicata a qualsiasi situazione in cui i campi della tua classe sono facoltativi, vale a dire che il valore di questo campo può essere mancante.
Dato che stavo seguendo un corso di Scala su coursera c'era un modello interessante quando si crea una classe astratta con tutti i metodi necessari e quindi si crea una sottoclasse normale completamente funzionale e una sottoclasse singleton "vuota" che restituisce sempre false
per il metodo isEmpty
e genera eccezioni per gli altri.
Quindi la mia domanda è: è meglio semplicemente assegnare null
se il valore del campo opzionale è mancante o fare una gerarchia sopra descritta e assegnargli un'implementazione singleton vuota?