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?