我开发了一些基于MVVM的WPF代码,需要进行一些小的重构,但在此之前我需要确定最佳体系结构。MVVM模式和半全局数据
我最初是从一个应用程序开始的,该应用程序可以提供我的数据的几个类似(但是独立的)表示。我们称之为RecordsViewModel
,它有相应的RecordsView
。随着时间的推移,我引入了一个SettingsViewModel
,它被传递到RecordsViewModel
的构造函数中并且可见地发布(允许RecordsView
使用它)。 SettingsViewModel
已注册,以便更改反映在我的所有视图中。
现在我想拆分RecordsView
一点,因为它现在包含两个不同的视图。
我的问题是:
- 新(
RecordsMainView
和RecordsAlternativeView
)都希望看到的设置。 - 不像早先的
RecordsView
这是编程实例化,这些新的视图是从Xaml(默认构造函数)实例化。
所以我的选择似乎是:
- 走在树模型向上找到一个设置
- 家长进行设置上的控件
DependencyProperty
,使XAML中加入属性的实例。 - 使
SettingsViewModel
单身。
其他更好的选择?你认为哪个最好?