上下文:
C#/ WPF Windows-Store應用程序使用SQLite在本地存儲數據,並通過Web訪問來下載數據。
應用程序:
數據必須從網上下載並映射到存儲在本地SQLite數據庫中的類。例如,在客戶類: MVVM - 正確執行模型
[Table("Customer")]
class Customer{
[AutoIncrement, PrimaryKey, Unique]
public int Id {get;set;}
public string Name {get; set;}
…
}
類得到由不同的線程操作,所以在INotifyPropertyChanged的Customer類是一個壞主意。此外,多個客戶應該通過GUI顯示,因此ViewModel包含一個Customers列表。此外,客戶必須通過多個屬性進行擴展才能正確顯示GUI。
問題:
什麼是模型?客戶?
我應該如何擴展客戶的額外屬性而不會搞亂客戶類?
我應該在哪裏存儲客戶在數據庫中的業務邏輯,或者將數據從網絡下載並映射到客戶類?在模型中?
如果你的答案是客戶是模型,它不應該包含任何邏輯,爲什麼MVVM模式說模型包含業務邏輯?