WPF MVVM应用程序的最佳设计模式

时间:2013-07-26 21:11:19

标签: wpf design-patterns mvvm

我正在使用WPF + MVVM开发项目。 程序需要从存储库加载对象(案例)并允许用户编辑它。 主要功能是:

  • 案件CRUD
  • 了解已加载的案例
  • 了解当前选择的案例

目前,版本0.1使用单例类Session(在命名空间模型中)来存储所有已加载案例的列表。

还有一个“案例管理”服务,它在Session单例中执行多个操作:

  • 从存储库加载案例并将其存储在Session
  • 删除案例
  • 验证案件是否有效
  • 选择要编辑的案例

我是WPF的新手,我想知道是否有适合这种情况的设计模式。我害怕我没有朝着正确的方向前进。

我不知道我是否提供了所需的所有信息,但我愿意尽快回答任何问题。

Here if a prototype

Example of a Load operation

2 个答案:

答案 0 :(得分:1)

你的设计很好,我看不出任何错误。

我建议做一件事,摆脱那个单例会话对象并使用依赖注入,让DI容器决定在应用程序组合根目录下使用Session对象的生活策略。

答案 1 :(得分:1)

我希望您的案例管理服务使用某种ORM。如果是,那么它将自动处理您的Load Case / Return Case并将其存储到会话中。当你想从会话中获取内容时,根据用户输入,你可以使用依赖注入原则(我建议使用Ninject)并使用单例模式实现它。