1

情况

我想在我的 WPF MVVM 应用程序中实现多种语言的错误处理。我在互联网上做了一些研究,偶然发现了这篇文章:

问题一

你不能把错误处理移到一个地方吗?在 de Viewmodel 或模型中,但我看不出这两个类都有一些错误处理的原因......

问题 2

在他的示例中,错误消息是在模型类中设置的,这是一种好习惯吗?对我来说,它看起来有点“糟糕的编码”......还是我错了?

4

1 回答 1

0

问题 1:要记住的是 MVVM 模式的每个部分的作用。模型中需要进行一定量的错误处理,但应该只与业务逻辑相关。这些错误需要传达给模型的“客户端”或视图模型。类似地,视图模型中可能会发生一些错误处理,但应仅限于视图模型的角色(即,它需要独立于视图)。

问题 2:我不喜欢在模型中设置错误消息,也不喜欢在视图模型中设置错误消息。错误信息需要传递到可以正确格式化和翻译的视图。这允许为不同的语言创建视图,而无需更改视图模型(或模型)中的任何代码。

我犹豫说“从不”,但我认为模型需要了解其语言环境的情况很少见。

我们使用以下内容来支持多语言:

http://www.codeproject.com/Articles/35159/WPF-Localization-Using-RESX-Files

这允许我们传递可以在视图中翻译的错误键。

希望这可以帮助!

于 2014-04-03T16:08:56.613 回答