Durante la stesura delle linee guida del codice per un'azienda mi sono trovato a consigliare l'utilizzo del schema Builder da Java efficace, invece di 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 aggiuntivi con argomenti opzionali.
Quindi basta avere il costruttore con i parametri richiesti, i normali getter / setter e commentare il codice. Quando si implementa, basta creare una nuova istanza di oggetto yr quindi impostare i valori.
Il mio pensiero originale era il vantaggio derivato dall'eliminazione della confusione su quali parametri fossero facoltativi e quali fossero necessari; tuttavia, il vero vantaggio deriva dall'uso dell'interfaccia method chaining / fluent.
Il modello di builder ha dei vantaggi quando si creano molte nuove istanze in quanto l'ide può fare il lavoro con le gambe e anche se ci sono molti (15+) parametri opzionali. Tuttavia, vale la pena dedicare del tempo extra alla codifica della classe interna statica, consiglieresti di usare il builder o è una perdita di tempo?