Trừ khi tôi hiểu sai - Hầu hết các bài viết tôi đọc trên MVVM giải thích mô hình trong MVVM là phần giữ miền/logic nghiệp vụ, nhưng điều khiến tôi khó hiểu là MVVM là một mẫu lớp trình bày và lớp trình bày không giữ toàn bộ logic kinh doanh. Có thể một số xin vui lòng giúp tôi hiểu làm thế nào miền-logic trong lớp kinh doanh bản đồ để các mô hình trong lớp trình bày, là mô hình trong MVVM thực sự là một DTO? Tôi đánh giá cao nếu một số người có thể giúp giải thích bằng một ví dụ về cách lớp nghiệp vụ được ánh xạ tới mô hình MVVM trong SOA (logic nghiệp vụ nằm phía sau dịch vụ web). Cảm ơn.Mô hình MVVM
Trả lời
MVVM, như MVC, chỉ là một dạng Bản trình bày riêng biệt, trong đó mục đích là để đạt được sự phân tách mối quan tâm giữa phần ứng dụng liên quan đến logic và trạng thái giao diện người dùng và một phần của ứng dụng liên quan đến logic và trạng thái liên quan đến miền kinh doanh. Vì vậy, MVVM không thực sự dictate bất cứ điều gì về hình thức mà một phần Model mất miễn là nó được tách ra từ các mối quan tâm trình bày.
Mô hình cố ý không được kết hợp hoặc phụ thuộc vào bất kỳ cách nào trên các khía cạnh trình bày của ứng dụng nhưng ngoài ra còn có nhiều cách khác nhau để thực hiện phần "M" của bộ ba. Đặc biệt, nó không phải ánh xạ tới một đối tượng duy nhất: nó có thể có nghĩa là tương tác với một dịch vụ trả về DTO, nó có nghĩa là xuất bản và đăng ký các tin nhắn trên một bus tin nhắn hoặc nó có thể có nghĩa là truy xuất các đối tượng miền đại diện cho các thực thể trong tên miền, phương pháp gọi trên chúng và sau đó kéo dài chúng. Điều thực sự độc đáo về mẫu MVVM là vai trò của ViewModel trong đó vì mục đích của nó là biểu diễn trạng thái của giao diện người dùng theo cách có thể được tiêu thụ bởi công nghệ Xem có khả năng dữ liệu phong phú. Nếu không có hỗ trợ databinding phong phú, bạn sẽ sử dụng một hình thức khác nhau của bài trình bày tách biệt như MVC hoặc MVP, nhưng phần "M" vẫn có thể giống nhau bởi vì nó độc lập với công nghệ UI theo định nghĩa. Đó là yếu tố quan trọng.
Rất thường Mô hình được đóng gói bởi chính ViewModel. Bạn phải tách riêng Model và ViewModel khi thiết kế nó có thể là ViewModel duy nhất sử dụng các Mô hình khác nhau. Nhưng thực sự đây là một trường hợp hiếm hoi nên ViewModel có thể trực tiếp làm việc với các dịch vụ.
Nếu một ViewModel có thể phục vụ các kiểu mô hình khác nhau, có thể được thay thế từng cái một - hãy giới thiệu lớp mô hình riêng biệt, trừu tượng hóa chúng bằng giao diện và đưa vào ViewModel thích hợp nếu không View và ViewModel là đủ.
Mô hình trong MVVM không có ở tất cả DTO. DTO là đối tượng chuyển dữ liệu. Nó giống như các lớp thực thể. Về cơ bản nó được sử dụng để chuyển dữ liệu từ một lớp này sang lớp khác; chẳng hạn như Lớp trình bày thành Lớp kinh doanh hoặc Lớp kinh doanh cho Lớp truy cập dữ liệu.
Và Mô hình chủ yếu bao gồm Logic nghiệp vụ. Lớp trình bày thông qua mô hình xem gọi logic nghiệp vụ của mô hình như khi được yêu cầu.
- 1. Mô hình liên kết và xem mô hình Silverlight MVVM
- 2. Thừa kế MVVM với Mô hình Xem
- 3. Mô hình khung nhìn cơ bản MVVM
- 4. WPF - MVVM - Xem mô hình phân cấp
- 5. Làm cách nào để duy trì sự nhất quán giữa mô hình và mô hình xem trong mô hình MVVM?
- 6. MVVM: Các nút radio gắn kết với mô hình xem?
- 7. Mô hình với cơ sở dữ liệu trong MVVM
- 8. Giao tiếp hai mô hình xem trong WPF MVVM
- 9. Quy ước đặt tên và mô hình hóa cho Mô hình và Chế độ xemMô hình trong MVVM
- 10. Làm cách nào để giữ nguyên logic của mô hình và logic nghiệp vụ trong mô hình xem trong MVVM?
- 11. Tôi có nên sử dụng DTO làm mô hình dữ liệu trong MVVM không?
- 12. Không chặn các thuộc tính lười biếng tải trong mô hình MVVM
- 13. Mô hình xem MVVM và khởi tạo dữ liệu không đồng bộ
- 14. Sử dụng Messenger của MVVM Light để chuyển các giá trị giữa Xem mô hình
- 15. Tài nguyên để triển khai mô hình MVVM (ViewModel) trong Flex?
- 16. Dữ liệu cũ trong Mô hình Chế độ xem MVVM với phụ thuộc tiêm
- 17. Làm thế nào để xử lý chủ đề C# WPF trong mô hình xem MVVM
- 18. Cách chính xác để khởi tạo một mô hình và xem trong WPF CAL MVVM
- 19. Tại sao không tốt để hiển thị Mô hình thông qua ViewModel trong Silverlight MVVM?
- 20. những gì là không đồng bộ trong MVVM? Mô hình hoặc ViewModel. Thực hành tốt nhất?
- 21. MVVM với Knockout.js
- 22. MVVM DataBinding
- 23. Từ MVC đến MVVM
- 24. MVVM - Xác thực
- 25. Hình ảnh dữ liệu WPF Image.Source trong MVVM
- 26. MVVM chuẩn
- 27. WPF, MVVM, ICommand, và kho
- 28. Lớp dịch vụ WPF MVVM
- 29. Cách thích hợp để truy cập Mô hình Xem từ Mô hình Xem hiện tại
- 30. MVVM: Liên kết với ListBox.SelectedItem?
Xem câu trả lời của tôi ở đây và các nhận xét mà mọi người đã trao cho nó. Tôi nghĩ quá thường xuyên MVC và MVVM bị hiểu lầm và những người mà Mô hình và Bộ điều khiển có thay thế DataModel và Logic kinh doanh. Trong tầm nhìn của tôi cả MVVM và MVC chỉ ở cấp UI để giữ thành phần ui tách biệt bởi một số thao tác cơ bản hoặc logic UI khác vì vậy tôi nghĩ câu trả lời của tôi trong đó áp dụng cho cả MVC và MVVM. –
Rất tiếc, tôi không thể thấy bất kỳ URL nào, bạn có thể vui lòng chỉnh sửa và đăng lại không. Cảm ơn. –
xin lỗi tôi đã quên nó: D http://stackoverflow.com/questions/7474267/mvc3-and-entity-framework/7474357#7474357 –