我正在使用WPF + MVVM开发项目。 程序需要从存储库加载对象(案例)并允许用户编辑它。 主要功能是:
目前,版本0.1使用单例类Session(在命名空间模型中)来存储所有已加载案例的列表。
还有一个“案例管理”服务,它在Session单例中执行多个操作:
我是WPF的新手,我想知道是否有适合这种情况的设计模式。我害怕我没有朝着正确的方向前进。
我不知道我是否提供了所需的所有信息,但我愿意尽快回答任何问题。
答案 0 :(得分:1)
你的设计很好,我看不出任何错误。
我建议做一件事,摆脱那个单例会话对象并使用依赖注入,让DI容器决定在应用程序组合根目录下使用Session对象的生活策略。
答案 1 :(得分:1)
我希望您的案例管理服务使用某种ORM。如果是,那么它将自动处理您的Load Case / Return Case并将其存储到会话中。当你想从会话中获取内容时,根据用户输入,你可以使用依赖注入原则(我建议使用Ninject)并使用单例模式实现它。