Tôi hoàn toàn không đồng ý với khái niệm rằng Mô hình không nên thực hiện INotifyPropertyChanged
. Giao diện này không phải là UI cụ thể! Nó chỉ đơn giản là thông báo về một sự thay đổi. Thật vậy, WPF sử dụng rất nhiều điều này để xác định các thay đổi, nhưng điều đó không có nghĩa đó là giao diện UI. Tôi sẽ so sánh nó với nhận xét sau: " Lốp xe là phụ kiện xe hơi ". Chắc chắn là có, nhưng xe đạp, xe buýt, vv cũng sử dụng nó. Tóm lại, đừng lấy giao diện đó làm giao diện người dùng.
Như đã nói, điều đó không nhất thiết có nghĩa là tôi tin rằng Người mẫu nên cung cấp thông báo. Trong thực tế, như một quy tắc chung, mô hình không nên thực hiện giao diện này, trừ khi nó là cần thiết. Trong hầu hết các trường hợp không có dữ liệu máy chủ nào được đẩy vào ứng dụng khách, mô hình có thể bị cũ. Nhưng nếu nghe dữ liệu thị trường tài chính, thì tôi không hiểu tại sao mô hình không thể thực hiện giao diện. Ví dụ: nếu tôi có logic phi UI như dịch vụ khi nhận được Giá thầu hoặc Hỏi giá cho một giá trị nhất định thì sẽ đưa ra cảnh báo (ví dụ: qua email) hoặc đặt hàng? Đây có thể là một giải pháp sạch có thể.
Tuy nhiên, có nhiều cách khác nhau để đạt được mọi thứ, nhưng tôi sẽ luôn tranh luận về sự đơn giản và tránh sự dư thừa.
Cái gì tốt hơn Xác định các sự kiện trên một bộ sưu tập hoặc các thay đổi thuộc tính trên mô hình khung nhìn và truyền nó tới mô hình hoặc có chế độ xem thực chất cập nhật mô hình (thông qua mô hình khung nhìn)?
Điểm mấu chốt bất cứ khi nào bạn thấy ai đó tuyên bố rằng " bạn không thể làm điều này hoặc điều đó " đó là một dấu hiệu họ không biết họ đang nói về điều gì.
Nó thực sự phụ thuộc vào trường hợp của bạn và trên thực tế MVVM là một khung có rất nhiều vấn đề và tôi vẫn chưa thấy một triển khai MVVM chung trên bảng.
Tôi ước mình có nhiều thời gian hơn để giải thích nhiều hương vị của MVVM và một số giải pháp cho các vấn đề phổ biến - chủ yếu được cung cấp bởi các nhà phát triển khác, nhưng tôi đoán tôi sẽ phải làm điều đó vào lúc khác.