Я изо всех сил пытаюсь понять, что должен сделать мой заводский класс в моем проекте DDD. Да, фабрика должна использоваться для создания объектов, но что именно она должна делать. Рассмотрим следующий заводской класс:Какие методы следует использовать в моем классе фабрики DDD?
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;
}
}
Должен ли я делать прямой звонок в хранилище с завода?
Как я могу управлять созданием объекта при извлечении данных из базы данных?
Что мне нужно для завершения этого класса, какие у меня другие методы?
Должен ли я использовать этот класс для создания объекта продукта из домена и хранилища справа?
Пожалуйста, помогите!
Не помещайте логики хранилища в вашем заводе. – mbillard