2011-08-25 34 views
7

Đã làm việc trên dự án thú cưng ở bên cạnh để tìm hiểu về asp.net mvc tốt hơn. Câu hỏi của tôi là về viewmodels trong mvc. Tôi hiểu bộ điều khiển có nhiệm vụ xử lý sự tương tác giữa khung nhìn và mô hình. Tôi cảm thấy như tôi tiếp tục phải tạo các lớp viewmodel để kết hợp thông tin từ các mô hình để chuyển sang khung nhìn.Có thực tiễn không tốt khi sử dụng nhiều chế độ xem trong asp.net mvc

Thực tiễn này có tệ không? Tôi có nên làm nhiều hơn về logic ở nơi khác và cắt giảm chế độ xem không?

Hiện tại, tôi gần như có chế độ xem cho hầu hết mọi quan điểm chính của mình. Nhưng tôi chắc chắn không muốn xem trực tiếp mô hình.

Trả lời

6

Không, tất cả các chế độ xem của bạn nên được nhập mạnh mẽ, vì vậy việc sử dụng cho từng chế độ xem một chế độ xem là thực tiễn tốt nhất. Here là bài viết rất hay về viewmodels.

+0

Câu trả lời hay. Bài viết đó tóm tắt nó một cách độc đáo. Đó là cơ bản những gì tôi đang làm hiện nay. Cảm ơn. – Deekane

2

Chế độ xem nhiều hơn bạn sử dụng tốt hơn. Chế độ xem cho phép bạn tạo một đối tượng có thể chứa các loại dữ liệu khác nhau từ các mô hình của bạn. Chúng rất hữu ích khi tạo mẫu. Ngoài ra, điều này rất hữu ích khi sử dụng JQuery và Ajax vì đây là một cách hay để truyền dữ liệu vào bộ điều khiển của bạn và sau đó trực tiếp đến DOM. Theo ý kiến ​​của tôi, sử dụng nhiều viewmodel như bạn mong muốn.

Một điều khác mà bạn có thể xem xét là cố gắng thiết kế mô hình của mình tốt hơn. Cá nhân tôi cố gắng xây dựng mô hình của tôi giống như một cơ sở dữ liệu sql và làm theo các hình thức bình thường hóa. Bạn không cần phải tạo chế độ xem mới cho mỗi chế độ xem ngoài các mô hình bạn đã có. Nếu bạn cần chuyển thông tin đến dạng xem không phải là một phần của mô hình bạn đang sử dụng, hãy sử dụng ViewData hoặc ViewBag. Đây là những thông qua như một đối tượng, do đó bạn sẽ phải cast chúng vào lớp thích hợp.

0

Không có gì xấu trong này. Như nhiều viewmodel của bạn gần hơn để xem là tốt hơn.

Mô hình không thể khớp với Chế độ xem phù hợp, vì vậy bạn sử dụng lớp ViewModel cho điều đó.

0

Câu trả lời hay ở đây và đây là quan điểm của tôi về lý do tại sao nhiều mô hình xem không phải là vấn đề. ViewModels của bạn là một cách hay để tách các đối tượng truy cập dữ liệu thuần túy của bạn hoặc thậm chí đối tượng miền của bạn khỏi lớp trình bày của bạn và cung cấp phiên bản đổ xuống của các đối tượng đó cho chế độ xem của bạn.

Quan điểm của bạn được coi là câm và đối với cá nhân tôi, những gì tôi cố gắng đạt được là để xoa bóp mô hình miền của tôi thành ViewModel để xem.

-3

Sử dụng nhiều chế độ xem tạo ra sự lộn xộn trong dự án của bạn. Nó là tốt hơn nhiều chỉ để tạo ra một Tuple trong bộ điều khiển sau đó vượt qua nó.

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