任何人都可以澄清这些条款。
我发现它们非常模糊或与上下文相关。演示逻辑vs UI逻辑
例如,我们有一个VM与项目列表。该选择不仅影响按钮的可访问性(即,命令可以执行),还影响VM的行为:重要的是一个或多个项目需要同时编辑。
第二个示例是创建新项目的过程。
在用户提供数据后,我们将项目添加到项目集合中,从而将其插入到列表中,并希望将其选中并聚焦。现在我们通过为项目的VM引入IsSelected
和IsFocused
属性来完成此操作。真正的工作是通过视图通过绑定,附加属性和行为完成的。
我们的团队insits的一些成员,加入这类性质的(IsVisible
,IsSelected
,IsFocused
的等)到虚拟机带来的UI逻辑虚拟机,因为UI和表示逻辑混合是不是一个好的做法。
对于我来说,遵循模式是重要的,但更重要的是不要重复自己。我更喜欢绑定和代码隐藏中的几行,而无需将DataContext转换为具体的VM类型,调用VM的方法等。
不过,我不喜欢HolyWars,并承认由于误解了这两个术语以及相互分离的标准,我可能会错。
http://en.wikipedia.org/wiki/Presentation_logic对我而言,演示文稿看起来像UI逻辑http://en.wikipedia.org/wiki/User_interface – kenny