Kev*_*vin 5 .net design-patterns mvvm
我问过一些我认为具有良好设计意识的同事的问题.有趣的是,我收到了不同的回复.那么您认为哪种选择最适合MVVM模式?为什么?
假设我需要在$ $ 10k以上时显示警告图标.
感谢您的反馈!
在您的情况下,您有明确的业务规则Shown WHEN > 10k
,它应该封装在 ViewModel 而不是 View 中,因为 View 知道数据将如何显示,而不是何时和为什么。
因此,我建议公开Amount
和ShowAlert
属性,并避免公开AlertVisibility
属性,因为它会分散此类 WPF View 特定事物,例如可见性枚举状态(隐藏、折叠等)
如果您希望公开,AlertVisibility
您将来可能会面临以下问题 - 试想一下,较新版本的 WPF 摆脱了烦人的Visibility枚举,在这种情况下,您必须修改 ViewModel 以公开新的 Visibility 基础结构/属性以保持 View 正常工作很好,但是当 View 行为封装在 ViewModel 中时,从 MVVM 的角度来看,这是不正确的。因此,保持简单并公开简单的bool AlertVisible
属性。
编辑:关于评论中的命名建议
绝对同意!我建议重命名AmountVisible
为IsAmountSpecified
或类似的名称。