Ho acquisito maggiore familiarità con il modello di fabbrica (insieme al modello di strategia) e quale grande vantaggio può avere il modello. Tuttavia, ho avuto problemi con la seguente situazione:Salvataggio dei dati con il modello di fabbrica?
In precedenza, avrei fatto qualcosa di simile a quanto segue, dove c'è una classe manager che costruisce e salva un'auto. Non c'è alcuna iniezione di dipendenze qui ed è una cattiva implementazione, specialmente quando si tenta di effettuare un test unitario.
public class CarManager
{
public static Car GetCarFromDatabase(int carId) { return new Car(); }
public static void SaveCar(Car car) { }
}
Ora vedo come avrei potuto avere diverso Factories
che costruiscono automobili per me, sia che si tratti di un database, o dovunque! È fantastico! Quindi, ecco le mie domande:
Q1: E 'la mia comprensione che Factories
dovrebbe solo costruire oggetti, è corretto? Se è così, e la mia seconda domanda?
Q2: Se sto seguendo il modello di fabbrica per la costruzione dei miei oggetti, come devo fare per salvare i miei oggetti? C'è un modello diverso per questo, o non capisco completamente il modello di fabbrica?
le fabbriche non devono realmente costruire oggetti - il loro scopo è quello di selezionare il tipo di cemento corretta da un insieme di tipi di oggetti correlati che tutti ereditiamo dalla stessa base. Sei sicuro di voler dire Fabbriche e non Costruttori? –