我试图了解MVVM模式,但有一些问题尚不清楚。我的Xamarin Forms应用程序将有几个视图(这是非常明显的)。他们每个人都必须绑定到不同的ModelView类吗?或者也许应该只有一个MV?
答案 0 :(得分:2)
是和否
是 - >基本上,我们的想法是您的ViewModel
只能由一个视图使用。如果您使用ViewModel
填充某个区域或其他内容,那么ViewModel
将被重复使用"每次在不同的地方展示该视图。
否 - >您可以在视图模型中使用多个模型。视图模型的目的是抽象出业务/数据层(即模型)。
但是,使用多个模型通常表示视图太大。您可能希望将其拆分为用户控件(具有自己的视图模型)。
参考文献:
答案 1 :(得分:1)
我一直认为“每个视图都有自己的虚拟机” - 模型是综合设计的子集。
我将从痛苦的经历中说:不要仅仅基于它们支持的视图/ UI来单独设计模型。如果没有全面的模型后端,您将很难将所有部分集成到一个可行的连贯,完整的业务模型中。贫血类,冗余位,不完整和错误的验证,相同的属性 - 不同的名称,与现有代码的不兼容性,hacky胶水代码的混乱,程序员打破彼此的代码,没有可重用性,不重用现有类。对于我们来说,所有这一切都在3个月的测试 - 失败 - 修复倾斜 - 尴尬的旋风中达到了顶峰。