Tôi đang làm việc trên một dự án ASP.NET MVC nhỏ vào lúc này.
Tôi đang cố gắng triển khai Nhibernate để tồn tại trên cơ sở dữ liệu MS Sql Server. Đã dành nhiều thời gian nghiên cứu DDD và các dự án khác được tìm thấy trên Internet, tôi đã quyết định chuyển sang mẫu kho lưu trữ. Bây giờ tôi phải đối mặt với một tình huống khó xử.
Tôi có thực sự cần một kho lưu trữ khi sử dụng Nhinbernate không?
Nó sẽ không thể tốt hơn để có một lớp dịch vụ (Tôi không có một lớp dịch vụ tại thời điểm này) mà tương tác với Nhinbernate tránh phải viết nhiều lần một cái gì đó như thế:ASP.NET MVC, Nhibernate và kho lưu trữ cho các dự án vừa và nhỏ
public Domain.Reminder GetById(Guid Code)
{
return (_session.Get<Domain.Reminder>(Code));
}
public Domain.Reminder LoadById(Guid Code)
{
return (_session.Load<Domain.Reminder>(Code));
}
public bool Save(Domain.Reminder Reminder)
{
_session.SaveOrUpdate(Reminder);
return (true);
}
public bool Delete(Domain.Reminder Reminder)
{
_session.Delete(Reminder);
return (true);
}
Tôi tìm thấy một cũ Bài đăng của Ayende chống lại kho.
Tôi biết có một cuộc tranh luận lớn về những chủ đề này và câu trả lời luôn là ... phụ thuộc, nhưng có vẻ như với quá nhiều lớp trừu tượng, mọi thứ trở nên phức tạp và khó theo dõi hơn.
Tôi có sai không?
Chỉ cần một ghi chú nhỏ. Không có dự án vừa và nhỏ, bây giờ nó có thể nhỏ, nhưng ngày mai người quản lý của bạn sẽ hỏi bạn một tính năng khác, và cái khác, và cái khác, và cuối cùng bạn sẽ có một dự án lớn với kiến trúc vừa và nhỏ . Tôi thực sự không giống như Big Design Up Front, nhưng đôi khi bạn cần phải suy nghĩ trước một chút. – goenning
Tôi đồng ý với bạn hoàn toàn nhưng, thực sự, tôi không thể thấy lợi ích trong việc sử dụng kho lưu trữ nếu không thực tế là tôi có thể không sử dụng nihbernate trong tương lai. Nó tạo ra rất nhiều công việc mà tôi không thể biện minh vào lúc này. – LeftyX