Trong một thời gian, nhóm của tôi và tôi đã gói lớp truy cập dữ liệu của chúng tôi vào mặt tiền dịch vụ web (sử dụng WCF) và gọi nó từ lớp logic nghiệp vụ . Trong khi đó, chúng ta có thể sử dụng mô hình kho lưu trữ nơi lớp logic nghiệp vụ tiêu thụ lớp truy cập dữ liệu cục bộ thông qua một giao diện và tại bất kỳ thời điểm nào, chúng ta có thể chuyển đổi thứ đó thành dịch vụ thay vào đó (nếu cần).Để quấn hoặc không quấn: Gói dữ liệu truy cập vào mặt tiền dịch vụ
Câu hỏi đặt ra là: Khi nào là thời điểm tốt để bọc lớp truy cập dữ liệu vào mặt tiền dịch vụ và khi nào phải không? Ngay bây giờ, có vẻ như lợi thế chính là các ứng dụng khác có thể tiêu thụ dịch vụ, nhưng nếu chúng là các ứng dụng nội bộ được viết bằng .NET thì chúng chỉ có thể sử dụng assembly .NET. Có những ưu điểm khác của việc DAL được bao bọc trong một dịch vụ mà tôi không biết?
Ngay cả đối với một ứng dụng nội bộ, tiêu thụ trực tiếp hội đồng .NET có thể là một PITA để cập nhật nếu bạn có nhiều người dùng trong hội đồng của bạn, nhưng một dịch vụ web sẽ được xếp hàng nhiều hơn. – Nate
Đây là một câu hỏi tuyệt vời ... Chi phí liên quan đến việc tuần tự hóa/vận chuyển/deserializing có thể thực sự tốn kém vì vậy nó có ý nghĩa để xem xét các mô hình khác. Mặt khác, việc có mặt tiền dịch vụ có thể giúp làm giàu và chuyển đổi dữ liệu dễ dàng hơn. Một khía cạnh tốt đẹp khác cho mẫu này là khả năng tích hợp các điểm cuối được xếp hàng đợi cho các nhu cầu lưu trữ lửa và quên. – JoeGeeky