視圖模型是否應該直接包含模型,如下所示?
public class ViewModel
{
public Car Car { get; set; } // Car model
public Driver Driver { get; set; } // Driver model
public Photo Photo { get; set; } // Photo model
public List<Skill> Skills { get; set; } // List of Skill model
}
或者視圖模型應該包含另一個視圖模型:
{
public CarViewModel CarViewModel { get; set; }
public DriverViewModel DriverViewModel { get; set; }
public PhotoViewModel PhotoViewModel { get; set; }
public List<SkillViewModel> Skills { get; set; }
}
最佳做法是什么?
uj5u.com熱心網友回復:
這取決于您在做什么,但通常情況下,第二個選項是最佳實踐,假設 Viewmodel 中的所有物件都以某種方式實際顯示在 View 中。
還要考慮到您的 ViewModel 專案代表 UI 上的事物,而模型代表業務邏輯。
因此,您的 UI 工件(ViewModel 物件)不一定與一個域物件(業務邏輯物件)相關聯。
因此,在您的示例中,“照片”或“技能”在這方面似乎不是一個合乎邏輯的物件。
它們作為 UI Artefacts 存在于要顯示的 ViewModel 上,但在邏輯域中,它們更有可能是邏輯物件的屬性,可能是驅動程式或其他東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/463194.html
