【发布时间】:2015-05-06 21:09:41
【问题描述】:
背景:
C#/WPF Windows-Store 应用程序使用 SQLite 在本地存储数据,并通过 Web 访问下载数据。
应用:
数据必须从 Web 下载并映射到存储在本地 SQLite 数据库中的类。例如,在 Customer 类中:
[Table("Customer")]
class Customer{
[AutoIncrement, PrimaryKey, Unique]
public int Id {get;set;}
public string Name {get; set;}
…
}
该类由不同的线程操作,因此 Customer 类中的 INotifypropertyChanged 是个坏主意。此外,GUI 应该显示多个客户,因此 ViewModel 包含客户列表。此外,必须通过几个属性扩展客户才能由 GUI 正确显示。
问题:
型号是什么?客户?
我应该如何使用其他属性扩展客户而不弄乱客户类?
除了将客户存储在数据库中或从网络下载数据并将其映射到客户类的业务逻辑之外,我应该在哪里?在模型中?
如果你的答案是 Customer 是 Model 并且它不应该包含任何逻辑,为什么 MVVM 模式说 Model 包含业务逻辑?
【问题讨论】: