Khi xây dựng các ứng dụng phức tạp, bộ điều khiển có thể bắt đầu trở nên khó sử dụng và rất lớn, điều này có nghĩa là bạn tách chúng ra thành các bộ điều khiển riêng biệt. Điều này có thể không phù hợp vì nó sẽ được phản ánh trong trải nghiệm người dùng. I E. Họ sẽ thấy tên bộ điều khiển trong URI.Cấu trúc của các thư mục điều khiển Asp.net MVC để gắn kết tốt hơn
Ví dụ: Dự án mặc định mà tàu với MVC có AccountController, có những hành động để đăng nhập, đăng xuất, đăng ký vv .. mà dường như vi phạm các Single Responsibility Principle.
Vậy câu hỏi là làm thế nào để giải quyết vấn đề này và tách ra các mối quan tâm? Một phản ứng ban đầu có thể chỉ là tạo các bộ điều khiển riêng biệt. I E.
AccountLoginController
AccountRegisterController
Nhưng đây không phải là trải nghiệm tuyệt vời từ quan điểm của khách hàng vì nó sẽ ảnh hưởng đến URI khi yêu cầu tài nguyên.
Một giải pháp có thể là có các thư mục riêng biệt cho mỗi bộ điều khiển chứa các tệp lớp riêng biệt cho hành động, mỗi tệp có một trách nhiệm như vậy.
Controllers (folder)
Account (folder)
Register.cs
Login.cs
Logout.cs
AnotherController (folder)
Actionfile.cs
Actionfile.cs
Ở trên sẽ tách riêng chức năng và là highly cohesive.
Vì vậy, đây là một lời giải thích dài, nhưng câu hỏi của tôi là ..
Có ai thực hiện điều này trước đây chưa?
Nếu bạn làm cách nào để tìm hiểu?
Suy nghĩ của bạn về mẫu này là gì?
Tại sao lại nhấn mạnh vào URI? Hầu hết người dùng (99% +) sẽ không quan tâm đến bất kỳ điều gì sau ".com". Tại sao nó lại quan trọng nếu nó là '/ Account/Register' hoặc'/AccountRegister'? Tôi thấy nó vui nhộn.devs net đã không đưa ra một shit về URIs cho đến khi mọi hướng dẫn MVC đặt tuyến đường như bước 1. Bạn đã từng đến ebay hay Amazon? Những URI đó thật kinh khủng, nhưng chúng vẫn là những trang web thành công. Bạn biết tại sao mà? Bởi vì họ quan tâm đến trải nghiệm người dùng. Tôi dành thời gian của tôi lo lắng về trải nghiệm người dùng trên trang web thực tế (chức năng, bố cục, điều hướng menu, v.v) so với những gì người dùng nhìn thấy trong thanh địa chỉ./rant – Ryan
@Ryan Tôi không hiểu ý kiến đóng góp của bạn như thế nào? Nói rằng .net devs "... đã không đưa ra một shit về URI cho đến khi ..." chỉ là một ý kiến đầu cơ và không thực sự đúng sự thật. Hơn nữa, câu hỏi này không ảnh hưởng đến URI mà là một câu hỏi về tách mối quan tâm, SRP và sự gắn kết liên quan đến các quy ước được thiết lập bởi khuôn khổ ASP.NET. –