在视图模型之间传递状态

时间:2015-04-08 00:17:55

标签: oop mvvm dependency-injection domain-driven-design

只是想知道对于MVVM,DDD和其他哲学的“正确”方式是否达成共识。 。 。

所以我有一个登录界面,由ViewModel,LoginViewModel表示。它可以采用名称和密码。它还通过依赖注入来接受LoginService,它实现了获取用户名和密码的逻辑,以及检索Employee对象。

我的问题是将这些信息传递给下一个视图模型的“正确”方法是什么?让我们说它是AccountSettings,它需要知道登录的员工。我们如何封装它?我有一个AccountSettingsViewModel,但是它需要

a)LoginViewModel的一个实例? b)LoginService的一个实例,它保留对登录员工的引用 c)全局对象上的共享对象或字段,如App或其他东西?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我个人在DDD或其他方面的所有视图模型都是简单的数据容器,用于限制从应用程序发送到UI /视图的数据。我可能会在我的视图模型中包含一些代码,这些代码专门用于转换该视图的数据。我也认为我的视图模型与我的观点相关联(我只提到这个,因为我看到有2个团队将他们放在他们自己独立的项目/装配中远离视图!)。

如果我有任何复制数据或执行操作以获取视图模型所需的数据,那么这将存在于我的域模型或我的应用程序层中,可能存在于服务中。我不会将服务注入视图模型。