Tôi đang tìm một số phản hồi về kiến trúc ứng dụng CMS dựa trên ASP.NET MVC của tôi.Kiến trúc ứng dụng ASP.NET MVC "nguyên tắc"
Mô hình miền - không phụ thuộc vào gì ngoài các lớp Hệ thống để xác định loại. Hiện tại, hầu hết là thiếu máu.
Lớp lưu trữ - truy cập dữ liệu trừu tượng, chỉ được gọi bởi lớp dịch vụ
Lớp dịch vụ - thực hiện logic nghiệp vụ trên mô hình miền. Hiển thị các mô hình xem cho các bộ điều khiển.
ViewModelMapper - dịch vụ để chuyển qua lại giữa các quan điểm và các mẫu đồ miền
Bộ xử lý - siêu mỏng "cảnh sát giao thông" chức năng phong cách tương tác với các lớp dịch vụ và chỉ đàm phán về các mô hình điểm, không bao giờ mô hình miền
Mô hình miền của tôi chủ yếu được sử dụng làm đối tượng chuyển dữ liệu (DTO) và có logic tối thiểu vào lúc này. Tôi tìm thấy điều này là tốt đẹp bởi vì nó phụ thuộc vào không có gì (thậm chí không lớp trong lớp dịch vụ).
Lớp dịch vụ hơi phức tạp một chút ... Tôi chỉ muốn các bộ điều khiển có quyền truy cập vào các chế độ xem để dễ lập trình GUI. Tuy nhiên, một số dịch vụ cần phải nói chuyện với nhau. Ví dụ, tôi có một dịch vụ event để thông báo cho các dịch vụ nghe khác khi nội dung được gắn thẻ, khi các bài đăng trên blog được tạo, v.v. Hiện tại, các phương thức lấy mẫu miền làm đầu vào hoặc trả lại chúng được đánh dấu nội bộ để chúng không thể sử dụng các bộ điều khiển.
Nghe có vẻ quá mức cần thiết? Không đủ trừu tượng? Tôi chủ yếu làm điều này như là một bài tập học tập nghiêm ngặt về kiến trúc, không phải cho một sản phẩm thực tế, vì vậy xin vui lòng không có phản hồi dọc theo dòng "phụ thuộc vào những gì bạn muốn làm".
cảm ơn!
Thực tế là bạn đã cố gắng nói quá nhiều trong quá ít từ nên cung cấp cho bạn manh mối rằng bạn đang đi đúng hướng. – pdr