Trong các dự án trước đây của tôi, tôi đã triển khai hệ thống hoàn tác trong C++ và tôi biết nó hoạt động như thế nào. Tôi cũng biết về mẫu Command.Hoàn tác bên trong WPF M-V-VM, nó phù hợp như thế nào?
Tôi sẽ triển khai một ứng dụng máy tính để bàn C#/WPF và muốn căn cứ thiết kế của tôi trên mẫu M-V-VM.
Ứng dụng này sẽ:
- được tương đối một dự án nhỏ (2-3 tuần ước tính làm việc cho 1 dev)
- có một mô hình dữ liệu đơn giản với sự bền bỉ (LINQ to XML)
- hỗ trợ lùi/redo
Tôi đã tự hỏi liệu có ai có kinh nghiệm triển khai hệ thống hoàn tác khi theo mẫu MV-VM không. Làm thế nào nó sẽ phù hợp với nó? Làm thế nào nó có thể được hưởng lợi từ các thông báo INotifyPropertyChanged và INotifyCollectionChanged vì vậy công việc tối thiểu là cần thiết khi thực hiện các Mô hình (đối tượng kinh doanh).
Tôi nghĩ hệ thống hoàn tác sẽ được tích hợp vào lớp ViewModel vì nó là trạng thái giao diện người dùng.
Bạn nghĩ gì?