应该在哪里创建ViewModel?在服务层中,在控制器中?MVC,在哪里生成ViewModel类?
public class ObjectA {
public string Name {get;set;}
public IList<ChildB> Children {get;set;}
}
public class ObjectAViewModel {
public ObjectA ObjectA {get;set;}
public IList<ChildB> SelectableChildren {get;set;}
}
如果必须在运行时计算ObjectA上的某些属性,该怎么办?
public class ObjectA {
public string Name {get;set;}
public IList<ChildB> Children {get;set;}
public CalculateMethod {get;set;}
public decimal CalculatedValue {get;set;}
}
可以说ObjectA.CalculatedValue
计算出库(不仅是相关对象)全部或部分ChildB
对象的,并且它们依赖于CalculateMethod
值来计算不同?我应该延长ObjectA
,在这种情况下,我应该在哪里放?与ObjectA
一起,还是作为其他地方的DTO?计算在哪里进行?