Dot-Net
從 MVC 到 MVVM
我不想將我的域模型類儲存在與我的 Web 平台相同的程序集中。因此,項目結構中的 Models 文件夾對我來說毫無用處。然而,我剛剛完成了音樂商店教程,並註意到他們如何創建一個“ViewModels”文件夾,這對我來說很有意義。
將 Models 文件夾視為 ViewModels 文件夾是否有意義?很多人都這樣做嗎?有沒有像 MVVM 這樣的模式?
如果您不完全信任您的展示程式碼(或者只是發現這種封裝更優雅),視圖模型可以添加另一個抽象級別。
也就是說,如果您的
Person類有Delete方法或SSNumber屬性,您可能不想將此對像傳遞給視圖,因為從概念上講,這使其能夠呼叫 Delete 或顯示 SSN,而它一定不能這樣做。為了避免這種情況,您創建另一個類 ,
PersonViewModel它只包含可以安全地從視圖呼叫的資訊/方法。這與從 MVC 應用程序中取出模型邏輯無關。無論您是否使用 ViewModel 封裝,您都可以為您的模型創建一個單獨的項目並從您的 Web 應用程序中引用它。到目前為止,我讀過的書鼓勵這樣做。