想象一下,您有一个复杂的数据对象。它足够复杂,要编辑对象的各种属性,最好让用户拥有多个屏幕。它本质上是一个用于配置项目的购物车。
因此,一个屏幕将允许您添加项目。另一种方法是允许您添加对这些项目的修改,即与成本相关的预定更改。第三个屏幕将允许您为您的项目配置全局设置。
我相信你可以猜到,每个屏幕都在完全相同的购物车上运行,只是改变了里面物品的不同属性和关系。
因此,我们将尝试使用 MVVM 编写应用程序,在讨论各种屏幕(以及它们之间的导航)时,我们遇到了以下问题:
人们在使用 MVVM 时通常如何管理应用程序状态?用户用来切换屏幕的导航栏将存在于屏幕之外,但是当用户点击它时,人们通常使用哪些方式来隐藏和显示另一个?
更一般地说,人们如何处理全局应用程序状态?用户一次只能操作一个购物车,一次只能有一个用户登录,一次只能显示一个屏幕。最好创建一个存储这些重要属性的单例,并且 ViewModel 可以保留它们的副本并通过事件聚合器订阅更改?
如您所知,我什至不知道从哪里开始解决这个问题,因此欢迎和接受任何建议。