mvvm-light:我们应该在定位器中合并清理方法吗?

时间:2010-06-02 19:38:15

标签: .net mvvm-light

使用片段在定位器类中创建新的ViewModel时,它会创建一个清理方法但是Main中已经有一个可用,因此出现错误....

我们应该将它们全部合并吗?

或者我们应该将方法重命名为Cleanup [viewmodel的名称],例如。

我在这里有点困惑

我想问的另一个问题是关于命名约定。

我尝试遵循“MAIN”使用的命名约定......

因此我有CreateLogin,ClearLogin,Login(用于绑定的非静态属性)等等。

使用CreateLoginViewModel,ClearLoginViewModel等不是更好吗?

好奇的

谢谢

1 个答案:

答案 0 :(得分:4)

这个代码段(以及一般的ViewModelLocator)需要工作,这将是V4的一个重大变化。

是的,目的是将片段生成的Cleanup方法与已经可用的方法合并。我们的想法是你可以调用ViewModelLocator.Cleanup()并让所有的VM自行清理(例如将它们的状态保存到本地存储,关闭流等等)。由于代码片段无法修改现有方法,因此我决定只复制Cleanup方法。它不会编译,因此开发人员应该知道合并它们。

也就是说,为每种VM类型设置CreateMain,ClearMain等并不令人满意。我想我们都同意这是一个弱实现,我想通过在未来提供通用的ViewModelLocator来改进它(V4)。

关于命名约定,它们只是约定。我厌倦了输入“ViewModel”,但随意使用你自己的约定。正如我所说,V4中可能不再需要该片段。同时道歉,给您带来不便;)(请注意,如果您愿意,可以轻松修改代码段)

干杯, 劳伦