在维护模型 - 视图模型关系(例如,为模型的每个实例创建vm实例)之后争斗了一段时间,我有一些可能颇有争议的想法,但我好奇的意见。MVVM和从模型到视图模型的隐式转换
如果使用VM类来维护模型实例的静态容器列表会怎么样? 那些可能(甚至应该)是弱引用,所以无论何时模型类实例超出范围,它的视图模型都会自动处理。另一个选择是重用虚拟机实例。
另一种适用于第一种方法的想法可能是创建一个从模型到视图模型类的隐式转换运算符。每当从模型实例投射时,我总是会获得同样的vm实例。
您对此有何看法?这是否违反规则和MVVM模式?
//编辑 我应该也可以提供这背后的动机:在我的应用程序中,我有多个地方使用我的模型类之一,并需要相应的vm引用。在每个这样的地方,我需要观察一个集合并对变化做出反应 - 创建或删除虚拟机实例。这与在许多地方重复的代码基本相同=>我认为只创建一个地方来做到这一点(隐式转换只是一个糖果,它不需要解决实际问题)。或者,也许而不是静态列表我应该创建一个管理器来处理所有类的视图模型实例创建?
现在几年后,你有没有发现一些缺点?看到基本上重复的代码会很有趣,但我不认为这是正确的? – WiiMaxx 2015-07-22 13:53:26