Tôi mới tham gia Mẫu lưu trữ và sau khi thực hiện rất nhiều lần đọc trên web, tôi có một sự hiểu biết sơ bộ về những gì đang diễn ra, nhưng dường như có một xung đột về ý tưởng.Mẫu lưu trữ - POCO hoặc IQueryable?
Một trong những cách mà IRepository sẽ trả về.
Tôi muốn kinh doanh CHỈ Pocos vì vậy tôi sẽ có một thực hiện IRepository cho mỗi gốc tổng hợp, như vậy:
public class OrangeRepository: IOrangeRepository
{
public Orange GetOrange(IOrangeCriteria criteria);
}
nơi IOrangeCriteria mất một số lập luận cụ thể để tìm kiếm một độc da cam.
Điều khác tôi có là một số dữ liệu back-end - đây là lý do tại sao tôi đã vào mẫu này ở nơi đầu tiên. Tôi tưởng tượng tôi sẽ có một thực hiện cho mỗi, ví dụ:
OrangeRepositoryOracle, OrangeRepositorySQL, OrangeRepositoryMock vv
Tôi muốn giữ nó mở vì vậy mà tôi có thể sử dụng EF hoặc NHibernate - một lần nữa nếu giao dịch IOrangeRepository tôi trong POCOs sau đó tôi sẽ đóng gói điều này trong chính Kho lưu trữ, bằng cách thực hiện một OrangeRepositoryNHibernate, v.v.
Tôi có đúng đường không?
Cảm ơn
EDIT: Cảm ơn phản hồi, tôi không có ai khác để đưa ra các ý tưởng này vào lúc này để được đánh giá cao!