Wpf 全球设置和;命令-面向对象设计模式

Wpf 全球设置和;命令-面向对象设计模式,wpf,oop,design-patterns,configuration,application-settings,Wpf,Oop,Design Patterns,Configuration,Application Settings,我目前正在构建一个WPF应用程序,并且有一些系统范围的设置。存储这些设置的最佳位置是哪里?App.Config文件、数据库或其他类型的XML文件?(需要读写) 我的另一个问题是应用程序有两种状态(即管理模式、客户端模式),并且根据应用程序的不同状态(关闭、重新启动、锁定、解锁等),这似乎是实现状态设计模式的一个好例子。。。但我面临的问题是,正在运行的应用程序本身就是上下文类。我有点困惑。。。我应该实现单例模式吗?如何最好地实现这一点 一般来说,在Visual Studio中使用项目设计器的“设置

我目前正在构建一个WPF应用程序,并且有一些系统范围的设置。存储这些设置的最佳位置是哪里?App.Config文件、数据库或其他类型的XML文件?(需要读写)


我的另一个问题是应用程序有两种状态(即管理模式、客户端模式),并且根据应用程序的不同状态(关闭、重新启动、锁定、解锁等),这似乎是实现状态设计模式的一个好例子。。。但我面临的问题是,正在运行的应用程序本身就是上下文类。我有点困惑。。。我应该实现单例模式吗?如何最好地实现这一点

一般来说,在Visual Studio中使用项目设计器的“设置”页面存储应用程序设置通常是最简单的。这些设置可以按用户或应用程序存储。无论哪种方式,都可以通过调用以下命令轻松保存:

Properties.Settings.Default.Save();
可以类似地访问它们:

Properties.Settings.Default.FirstUserSetting = "abc";
您可以通过查看MSDN上的页面了解全部详细信息


关于第二个问题,我建议使用State设计模式。不幸的是,我不理解您在这方面的问题,因此请让我知道您的问题是什么,我将尝试解决它。

1。存储设置的方法取决于设置的数量、检索方式和时间以及保存方式和时间。您可以通过使用一个设置管理器对象将实际的保存/加载逻辑与使用逻辑分离,该对象可以为其保存/加载实现使用不同的策略,然后在发现不适合您的情况下随意切换实现。我通常使用XML文件。2.应用程序本身作为上下文不是问题。它可以有一个状态对象,根据其状态逻辑调用应用程序上的方法。1) 干杯。2) 这就是我对实现它的想法。谢谢你的帮助。感谢:)我以前在我的“业务层”中使用过状态设计模式,在这里我有我所有的域对象。但是我在这里试图实现的状态是针对实际应用程序本身的,它实际上是一个静态类?我只需要对象的一个实例?@user2909756您是指您的成员国也必须是静态的吗?这是你的问题吗?对不起,我还是不明白你的问题。如果您不想使用
MainWindow.cs
类作为模式的上下文,那么只需使用另一个类。。。如果您确实想将其用作上下文,它仍然可以扩展
抽象状态
基类。请在您的问题中添加一个编辑/更新部分,清楚地解释您在这方面的问题。