Nel corso della stesura delle linee guida sul codice per un'azienda, mi sono trovato a raccomandare di utilizzare il modello Builder di Effective Java, anziché i costruttori telescopici.
Tuttavia, dopo averci pensato un po 'di più, sicuramente una soluzione più elegante è semplicemente rimuovere la classe builder e rimuovere anche i costruttori extra con argomenti opzionali.
Quindi basta avere l'unico costruttore con i parametri richiesti, getter / setter normali e commentare il codice. Quando si implementa, basta creare una nuova istanza dell'oggetto yr quindi impostare i valori.
Il mio pensiero originale era che il vantaggio derivava dalla rimozione della confusione su quali parametri fossero opzionali e quali fossero richiesti; tuttavia il vero vantaggio deriva dall'uso del metodo di concatenamento / interfaccia fluente.
Il modello del generatore ha vantaggi quando si creano molte nuove istanze in quanto l'ide può fare il lavoro delle gambe e anche se ci sono molti (15+) parametri opzionali. Tuttavia, vale la pena dedicare più tempo alla codifica della classe interna statica, consiglieresti di usare il builder o è una perdita di tempo?