Sto facendo fatica a capire cosa dovrebbe fare la mia lezione di fabbrica nel mio progetto DDD. Sì, una fabbrica dovrebbe essere usata per creare oggetti, ma cosa dovrebbe fare esattamente. Considerare la seguente classe di fabbrica:Quali metodi dovrebbero essere usati nella mia classe DDD factory?
public class ProductFactory
{
private static IProductRepository _repository;
public static Product CreateProduct()
{
return new Product();
}
public static Product CreateProduct()
{
//What else would go here?
}
public static Product GetProductById(int productId)
{
//Should i be making a direct call to the respoitory from here?
Greener.Domain.Product.Product p = _repository.GetProductById(productId);
return p;
}
}
Devo effettuare una chiamata diretta al repository dalla fabbrica?
Come devo gestire la creazione dell'oggetto durante il recupero dei dati da un database?
Cosa devo fare per completare questa classe, quali altri metodi dovrei avere?
Devo usare questa classe per creare l'oggetto Product dal dominio e dal repository di destra?
Si prega di aiuto!
Non mettere la logica repository nella tua fabbrica. – mbillard