Tôi đang tạo đối tượng truy cập dữ liệu để truy xuất thông tin từ Google App Engine cho ứng dụng web được xây dựng trên khung công tác Spring (lần đầu tiên cho tất cả).DAO (đối tượng truy cập dữ liệu) thực hành tốt nhất - ví dụ tôi thấy sử dụng một DAO và một đối tượng dịch vụ cả hai, thực hành tốt nhất ở đây là gì?
Tôi thấy một số ví dụ sử dụng mẫu Bộ điều khiển/webapp -> Dịch vụ -> DAO -> JDO/Google-app-engine.
Trong mẫu này, lớp DAO là lớp duy nhất biết về JDO, do đó lớp này là lớp duy nhất cần thay thế nếu lưu trữ dữ liệu thay đổi. Tầng dịch vụ gọi lớp DAO và định dạng/thao tác các dữ liệu cần thiết.
Câu hỏi của tôi là lý do lớp dịch vụ bổ sung? Ít nhất ban đầu nó không có vẻ như lớp dịch vụ được thêm nhiều vào phương trình. Tôi sẽ tự nhiên nghĩ rằng chỉ cần viết một lớp DAO để đóng gói các yêu cầu JDO và thao tác và trả về dữ liệu.
Ai đó có thể cho tôi thấy lý trí cho một lớp Dịch vụ riêng biệt, điều này sẽ trở nên rõ ràng khi dự án trở nên lớn hơn và phức tạp hơn?