==> a)UI模型对象:即我有属性更改通知的类(INotifyPropertyChanged),SelectedItemXXX绑定到某些ComboBox SelectedItem
==> b)模型对象:简单的目标.POCO(普通的旧CLR对象)
问题1)总的来说,拥有这样的模型会更好。我的意思是我们只需要维护模型(a)吗?
问题2)如果我们保持两个模型。什么是更好的方式。我们可以有一些关联或某种方法来生成模型对象(b)。
问题3)如果我们有两个模型,那么通常会遵循名称惯例。 我把它命名为PersonUI,Person我的意思是更好的命名方式吗?
三江源
答案 0 :(得分:2)
回答问题1:否。您经常需要简单的模型对象来执行UI模型领域之外的真实世界业务逻辑(即域逻辑)。在Single Responsibility Principal之后,您不应该使用业务模型对象来卷积UI模型对象。
对问题2的回答:是 - 一种非常常见的使用模式是MVVM:
MVVM是WPF和SilverLight的推荐最佳实践。它将UI与模型分开,便于测试和重用。
对问题3的回答:UI模型对象(a)的常见命名约定是使用 XXXXViewModel
。例如,如果您有一个名为Giraffe.xaml
的WPF控件和Giraffe.xaml.cs
后面的相应代码,那么您的视图模型文件的名称将为GiraffeViewModel.cs
,类将类似于:
public class GiraffeViewModel : INotifyPropertyChanged
{..
将模型对象的名称保存到其中包含的逻辑中。例如:GiraffeVision.cs