Nếu tôi sử dụng Mẫu Kho lưu trữ trong Ứng dụng ASP.NET MVC, tôi cần DI để cho chương trình biết, để giao diện các lớp phải được ánh xạ. Nếu tôi triển khai Unity, tôi cần thêm dự án DAL vào dự án MVC của tôi, và sau đó đăng ký các kiểu trong global.asax.ASP.NET MVC Project EF Repository Pattern
Trong suy nghĩ của tôi, tôi nghĩ rằng việc thêm không gian tên của lớp DAL vào dự án MVC là xấu, có một lớp nghiệp vụ ở giữa. Tôi nghĩ rằng, nó sẽ là đẹp để tiêm các lớp DAL trong lớp kinh doanh và chỉ ánh xạ lớp kinh doanh trong ứng dụng MVC.
Con đường để đến đây là gì? Bạn có gợi ý?
CẬP NHẬT: Để làm rõ cho tôi. Trong lớp dịch vụ, chỉ có DTO và DI cho lớp truy cập dữ liệu và doanh nghiệp. Trong lớp dịch vụ, tôi ánh xạ các DTO đến mô hình miền. Những gì tôi không hiểu là, làm thế nào tôi có thể gọi các phương thức lớp kinh doanh sau đó?
Sử dụng repo không có nghĩa là bạn phải sử dụng DI - chúng giải quyết hai vấn đề khác nhau. –
Tôi khuyên bạn nên đọc lên trên "kiến trúc hành tây", tôi nghĩ rằng đó là một cách tiếp cận tốt để tham khảo dự án. Bởi vì các lớp UI và DataAccess của bạn sẽ ở ngay bên ngoài, nên không có bất kỳ vấn đề gì để chúng tham chiếu lẫn nhau. – Charlino