Tôi đã phát triển một số mã WPF dựa trên MVVM và đang cần một số tái cấu trúc nhỏ nhưng trước khi thực hiện điều đó, tôi cần phải quyết định kiến trúc tốt nhất.Mẫu MVVM và dữ liệu bán toàn cầu
Tôi bắt đầu với một ứng dụng có thể trình bày một số biểu diễn tương tự (nhưng riêng biệt) về dữ liệu của tôi. Hãy gọi nó là RecordsViewModel
có số RecordsView
tương ứng. Khi thời gian trôi qua, tôi đã giới thiệu một số SettingsViewModel
được chuyển vào hàm tạo của RecordsViewModel
và được hiển thị rõ ràng (cho phép RecordsView
sử dụng nó). SettingsViewModel
được đăng ký để thay đổi được phản ánh trong tất cả các chế độ xem của tôi.
Bây giờ tôi muốn chia RecordsView
một chút vì giờ đây nó có hai chế độ xem riêng biệt.
Vấn đề tôi có là:
- mới (
RecordsMainView
vàRecordsAlternativeView
) đều muốn xem Cài đặt. - không giống như trước đó
RecordsView
được lập trình ngay lập tức, các chế độ xem mới này được khởi tạo từ Xaml (hàm tạo mặc định).
Vì vậy, lựa chọn của tôi dường như là:
- Walk the Tree mẫu trở lên để tìm cha mẹ với một Cài đặt
- Hãy Cài đặt một
DependencyProperty
trên các điều khiển và làm cho XAML tham gia sở hữu đến ví dụ. - Tạo
SettingsViewModel
một Singleton.
Bất kỳ tùy chọn nào khác, tốt hơn? Bạn sẽ cân nhắc điều gì nhất?