Tôi đang đấu tranh để hiểu những gì lớp nhà máy của tôi nên làm trong dự án DDD của tôi. Có một nhà máy nên được sử dụng để tạo ra các đối tượng, nhưng chính xác nó nên làm gì. Hãy xem Lớp Nhà máy sau đây:Phương pháp nào nên đi vào lớp nhà máy DDD của tôi?
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;
}
}
Tôi có nên thực hiện cuộc gọi trực tiếp đến kho lưu trữ từ trong nhà máy không?
Tôi nên quản lý việc tạo đối tượng khi lấy lại dữ liệu từ cơ sở dữ liệu như thế nào?
Tôi cần làm gì để hoàn thành lớp học này, tôi nên có phương pháp nào khác?
Tôi có nên sử dụng lớp này để tạo đối tượng Sản phẩm từ miền và kho lưu trữ từ phải không?
Vui lòng trợ giúp!
Đừng đặt logic kho tại nhà máy của bạn. – mbillard