我正在使用WPF c#开发一个软件。我的软件有多个窗口。我需要跨多个窗口共享一个相同的on对象实例(我正在使用遗留代码,所以我不能使该对象静态)。有一个静态类是一个很好的做法,它将包含我需要在多个窗口共享的变量,因此我可以避免通过构造函数传递它们。谢谢
答案 0 :(得分:1)
您可以使用静态类,也可以使用相同的单例实例注入所有窗口/视图模型。请注意,这不一定是实际实现单例设计模式的类,但您需要确保使用相同的实例注入窗口/视图模型。
后一种方法是优先的方法,主要是因为非静态共享类可以实现一个接口,使您可以轻松地将实现替换为另一个接口,从而使单元测试类更容易。
因此,至少在一般情况下,使用全局静态类确实不是一个好习惯,但这可能仍然适用于您的特定场景。