Tôi đang cố gắng tìm ra lớp nào chịu trách nhiệm về việc lưu vào bộ nhớ đệm (chèn/xóa) hoạt động trong một dự án Thiết kế Driven Miền. Mục đích là để cải thiện hiệu suất của ứng dụng web bằng cách lưu trữ bất kỳ thực thể nào được lấy ra từ kho lưu trữ.Đang lưu vào bộ nhớ cache một kho lưu trữ, tên miền hoặc ứng dụng liên quan?
Giải pháp của tôi được tách ra như sau:
MyApp.Infrastracture
MyApp.Repositories
MyApp.Domain
MyApp.WebApplication
tôi cảm thấy rằng kể từ khi nó chỉ ứng dụng Web mà sử dụng bộ nhớ cache sau đó nó nên được lớp này mà logic bộ nhớ đệm nên đi đâu? Tuy nhiên điều này không cảm thấy chính xác vì tôi muốn giữ cho ứng dụng web nhẹ và tập trung vào việc phục vụ các trang web.
Ngoài ra bộ nhớ đệm không phải là khái niệm miền hạng nhất nên không có sự phù hợp tự nhiên trong lớp Miền.
Việc cần làm?
Đó là mối quan ngại của tất cả những điều trên. Caching là một trong những mối quan tâm cắt chéo mà mỗi lớp cần xử lý riêng lẻ và ứng dụng cần phối hợp. – Oded
@Oded - bạn nên đặt câu trả lời đó là một câu trả lời –
@David Kemp - done ... – Oded