Mar*_*mer 6 c# wpf design-patterns mvvm-light
当我进一步深入研究MVVM和MVVM-light时,我认识到,没有MVVM-light为模型提供基类.
但根据我的理解,消息传递和提出通知也可能发生在模型中.至少在模型之间的沟通中,我会发现消息传递非常方便.
所以我决定从ViewModelBase派生我的模型,即使某些属性(如设计时间属性)将不被使用.
但是我越看这个,我就越想错过什么.从ViewModelBase派生我的模型被认为是"不好的做法"吗?
是否可以使用Messaging进行模型通信?
从您喜欢的任何内容中派生您的视图模型类...... MVVM-light提供了VieWModelBase来提供ICleanUp的实现 - 这对于管理ViewModel对象的生命周期非常有用.我自己的选择是在基类中实现属性更改通知的所有脚手架,然后从模型类派生.关于模型类的唯一强有力的建议是:
非常好的ViewModel类通常也是无状态的,它们可以在单个用户交互中被回收/重用,这样可以虚拟化大型数据列表(WPF支持虚拟化)以节省RAM.
记住DRY(不要重复自己),KISS(保持简单,愚蠢!)和YAGNI(你是不是要去需要它) -你应该牢记的原则上述任何学术的设计原则.我真的浪费了几周的WPF应用程序来实现学术上完美的MVC/MVVM模式,却发现它们已经从最终解决方案的整体可理解性中消失了.所以...保持简单!:)
归档时间: |
|
查看次数: |
553 次 |
最近记录: |