Tôi có một trang web MVC sử dụng mẫu kho lưu trữ. Tôi không cảm thấy như tôi đang sử dụng phong cách MVC đủ, vì vậy tôi đã sẵn sàng để tái kiến trúc một số trong đó. Nhưng tôi cũng muốn làm điều đó vì vậy nếu giao diện người dùng thay đổi, việc trao đổi sẽ dễ dàng hơn.
Đây là những gì tôi có hiện tại
Mô hình - một số mô hình của tôi chứa các thực thể / lớp trực tiếp. (Mô hình đăng nhập chứa lớp Khách hàng, tương quan trực tiếp với lớp Bảng / kho lưu trữ của Khách hàng) Lượt xem - một số khung nhìn của tôi chứa các truy vấn repo - tức là
_customerRepo.Query().FirstOrDefault(c => c.Login == User.Identity.Name);
Bộ điều khiển - Không phải là vấn đề lớn ở đây, bộ điều khiển gọi một số truy vấn repo và một số trong số họ cũng sử dụng một số dịch vụ để gọi repos - tức là
_customerService.GetAllCustomers()
mà gọi
_customerRepo.Query().All();
Đây là suy nghĩ của tôi:
1) Các mô hình chỉ chứa CHỈ dữ liệu cần được trình bày trên khung nhìn. Ngay cả khi tất cả các thuộc tính của bảng / đối tượng Khách hàng được hiển thị trên khung nhìn, chúng phải được ghi lại vào mô hình / lớp của riêng chúng để khung nhìn không biết gì về kiến trúc cơ sở dữ liệu hoặc các đối tượng phụ trợ
2) Lượt xem chỉ nên truy cập vào các đối tượng mô hình
3) (Và đây là nơi tôi đang vật lộn trên con đường nào sẽ đi)
a) Bộ điều khiển (hoặc ở đâu đó bên phía MVC, phải là mã chuyển đổi dữ liệu đối tượng được trả về từ repo / services và chuyển đổi chúng thành các mô hình. Tôi giả sử tôi có thể đặt mã này vào một hàm tạo mô hình. Nhưng tôi đã nhận thấy rằng DI mong đợi một hàm tạo trống mặc định trong trường hợp có lỗi xác thực
b) Bộ điều khiển gọi các giao diện repo trên các phương thức được đặt tên tốt để truy xuất dữ liệu (ví dụ: _customerRepo.GetAllCustomers ()
c) Bộ điều khiển CHỈ truy cập vào một lớp dịch vụ. Lớp dịch vụ sau đó là thứ duy nhất tương tác với lớp repo.
Tôi đang cố gắng trích xuất mô hình, bộ điều khiển, dịch vụ, repo các lớp quá nhiều? Là lớp serivces quá nhiều vì nó có thể được thực hiện bởi các repos?
Cách tiếp cận được đề xuất để chuyển đổi các đối tượng / thực thể kinh doanh sang các mô hình là gì?