2013-02-22 35 views
1

弹出错误信息我希望能够以显示与错误和警告的弹出窗口。这些来自我的ViewModel和我的应用程序中的其他实用程序。
我有一个静态类MessageBoxHelper,为我提供此功能。实施清洁显示MVVM视图模型

我现在确实遇到了问题,我可测试性。在我想验证失败登录我的测试触发器MessageBox的情况下,我在我的测试中得到UI thead exception

我想实现一个松耦合系统的清洁与一个小的开销,以提供此功能。我媒体链接想出了2想法的,但对我来说仍有得多缺点:

  1. 实现我DI Container注册接口IMessageBoxHelper。这需要我添加另一个参数到我的Constructor。我想避免有一个巨大的构造函数。
  2. 而不是调用MessageBoxHelper直接发送邮件与我的EventAggregator和实施MessageBoxListener单身捕获这些Messages并显示它们。但是,这似乎有点过分包含在我看来。

是任何这些想法的权利或有另一种方式?

回答

3

如果您的视图模型对能够显示一个消息框的依赖(例如IMessageBoxHelper)为什么不那么明显通过注射的依赖?单元测试将很容易等等。我没有看到一个问题,在选择解决方案1.

+0

我媒体链接有4只依赖于其他服务接口。我不应该尽量避免拥有这个尺寸? – JMan 2013-02-22 07:50:59

+1

@Jeroen:五个依赖听起来不是很多。当然,如果你的视图模型是臃肿和庞大的,你应该考虑重构它,但我怀疑是这种情况。 – 2013-02-22 07:59:50

+0

thnx您的意见 – JMan 2013-02-22 08:00:41