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