Tôi vừa phải tắt ORM và đó là một nhiệm vụ tương đối khó khăn, bởi vì logic truy vấn bị rò rỉ ở khắp mọi nơi. Nếu tôi đã từng phải phát triển một ứng dụng mới, sở thích cá nhân của tôi sẽ là gói gọn tất cả logic truy vấn (sử dụng ORM) để tương lai hóa nó để thay đổi. Mẫu lưu trữ khá rắc rối để mã hóa và duy trì vì vậy tôi đã tự hỏi nếu có bất kỳ mẫu nào khác để giải quyết vấn đề?
Tôi có thể thấy trước các bài đăng về việc không thêm độ phức tạp trước khi thực sự cần thiết, nhanh nhẹn, v.v. nhưng tôi chỉ quan tâm đến các mẫu hiện có giải quyết vấn đề tương tự theo cách đơn giản hơn.
Suy nghĩ đầu tiên của tôi là có một kho lưu trữ kiểu chung, trong đó tôi thêm các phương thức khi cần thiết cho các lớp kho lưu trữ kiểu cụ thể thông qua các phương thức mở rộng, nhưng các phương thức tĩnh kiểm thử đơn vị là vô cùng đau đớn. I E:
public static class PersonExtensions
{
public static IEnumerable<Person> GetRetiredPeople(this IRepository<Person> personRep)
{
// logic
}
}