NOTA: tutti i builder sono solo per test unitari.Quale è più efficace quando costruisci i costruttori?
Così ho creato i costruttori e, mentre li sto creando, ho iniziato a notare che alcuni degli altri costruttori, già presenti, seguono un modello un po 'diverso.
Pensiero chiedo qui quale è più efficace.
mio modo di fare è questo:
public class Builder
{
public Builders()
{
SetDefaults();
}
private void SetDefaults()
{
// Setting my defaults
}
}
L'altro modo che è a posto:
public class Builder
{
public Builder WithDefaults()
{
// Setting my defaults
}
}
A mio parere il primo è più efficace perché basta creare il vostro costruttore e fa automaticamente l'impostazione predefinita.
Nell'altro caso, è necessario chiamare esplicitamente il metodo WithDefaults per impostare tutti i valori predefiniti prima di procedere alla sua creazione.
Il secondo sembra più soggetto a errori poiché alcuni oggetti che devono essere compilati possono generare eccezioni null se non hanno tutti i campi impostati.
Forse mi manca qualcosa di sottile qui così ho deciso di chiederti quale è più efficace andare avanti.
Grazie.
Se devi chiamare "WithDefaults" non sono realmente predefiniti, vero? –
@JonSkeet è un ottimo punto, grazie! – AvetisG
Beh, se davvero volessi trovare un professionista per il secondo metodo, sarebbe questo: WithDefault potrebbe ancora essere usato per ripristinare gli attributi del builder ai loro valori predefiniti .... – Sidewinder94