跨多个Windows的共享变量的静态类

时间:2017-04-20 14:06:46

标签: c# wpf design-patterns

我正在使用WPF c#开发一个软件。我的软件有多个窗口。我需要跨多个窗口共享一个相同的on对象实例(我正在使用遗留代码,所以我不能使该对象静态)。有一个静态类是一个很好的做法,它将包含我需要在多个窗口共享的变量,因此我可以避免通过构造函数传递它们。谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用静态类,也可以使用相同的单例实例注入所有窗口/视图模型。请注意,这不一定是实际实现单例设计模式的类,但您需要确保使用相同的实例注入窗口/视图模型。

后一种方法是优先的方法,主要是因为非静态共享类可以实现一个接口,使您可以轻松地将实现替换为另一个接口,从而使单元测试类更容易。

因此,至少在一般情况下,使用全局静态类确实不是一个好习惯,但这可能仍然适用于您的特定场景。