Voglio definire il proprio tipo di dati, ad esempio un Digit
, che avrebbe un tipo definito di valori ( 0 to 9
) e sto cercando di definirlo in un modo pratico. Qual è il modo migliore (modello di progettazione) per farlo?
Lo sto facendo in Scala, che potrebbe fornire alcuni vantaggi, ma sono anche interessato all'approccio generale.
Se istanziando Digit
tramite Int
costruttore ( var d = new Digit(1)
), come gestire la sicurezza "fuori limite" in tipo compilato? La creazione di sottoclassi ( var d: Digit = new Digit1()
) è un modo?
Domanda aggiuntiva: Come gestire grandi insiemi di valori - ad es. le lettere vengono in mente prima?