2009-05-03 29 views
7

Trong tất cả các Sơ đồ MVC tôi đã thấy, luôn có một kết nối giữa Chế độ xem và Mô hình, cho biết rằng Chế độ xem có quyền truy cập vào Mô hình.ASP.net MVC - cách chế độ xem truy cập vào mô hình?

Tôi tự hỏi: Khi nào điều này áp dụng? Tại thời điểm này, tôi có hành động điều khiển của tôi tham gia trong một tham số từ QueryString, truy vấn mô hình để có được MyObjectViewData, và sau đó trả lại một dạng xem, đi qua trong MyObjectViewData. Vì vậy, về cơ bản tôi có bộ điều khiển ở giữa.

Điều này có vẻ là cách tiếp cận hợp lý, nhưng không phù hợp với giả định rằng Mô hình và Chế độ xem có cùng nhau kinh doanh.

Các tình huống điển hình khi chúng tương tác mà không có Bộ điều khiển là gì?

Trả lời

6

Trong MVC (trên web) Chế độ xem trực tiếp tương tác với Mô hình bằng cách hiển thị một trường hợp cụ thể của thực thể Mô hình. Nó chỉ hoạt động gián tiếp trên Mô hình thông qua Bộ điều khiển. Trong triển khai không phải web, bạn có thể sử dụng mẫu quan sát để đăng ký các trình xử lý có các phần tử Xem có thể gọi các phương thức trong Mô hình cập nhật Mô hình không tương tác với Bộ điều khiển. ASP.NET MVC và các triển khai dựa trên web khác được kết hợp lỏng lẻo hơn so với triển khai không thực hiện trên web. Theo tôi, đây là một điều tốt. Nó có xu hướng thực hiện cho một thực hiện điều khiển fatter nhiều hơn và bạn cần phải cẩn thận để giữ sự tách biệt của mối quan tâm giữa Controller và Model.

Triển khai web có thể phải được vẽ mà không có kết nối gián tiếp từ Mô hình đến Chế độ xem vì bạn không thể giao tiếp thực sự giữa hai mà không có Bộ điều khiển. Tôi cho rằng người ta có thể tranh luận rằng một dịch vụ web có thể cung cấp kết nối này, nhưng tôi sẽ coi nó là một dạng khác của một Controller.

Các vấn đề liên quan