Diciamo che ho una classe complessa, forse una House
quindi separo la sua logica di creazione in una classe factory, HouseFactory.Build()
Tuttavia, queste classi sono per una DLL API e abbiamo riscontrato che molti dei nostri utenti sono confusi e non riescono a discernere che devono utilizzare HouseFactory
, quindi aggiungiamo la seguente funzione di collegamento statico alla House
class:
class House
{
public static House Build()
{
return houseFactory.Build();
}
}
Quali sarebbero i potenziali svantaggi, di avere un metodo di creazione nella classe che esternalizza la logica effettiva in una fabbrica?