标签: model-view-controller
我正在考虑在ViewModel类上使用ReadOnly属性,该属性返回一个格式化字符串,显示从同一个类中的两个Date属性派生的日期范围。
该逻辑最适合Controller或View Model吗?
如果最好的位置是控制器,那么我在ViewModel,DateRangeForDisplay中只需要一个读/写属性。如果可以将它放在ViewModel中,我将有2个日期属性和字符串readonly DateRangeForDisplay属性。
答案 0 :(得分:0)
可能基于意见,但是:
控制器根本不应该有数据属性。他们的工作是从View / UI获取事件并将其传播到Model / ViewModel(确切的术语取决于所选的架构风格)。
除了一些性能原因外,模型不应该关心数据的表示方式,因此不具备这样的属性。
ViewModels具有状态和格式化数据的 decorate 模型,这就是为什么这样的组合日期属性应该在ViewModel中。
我说这对于asp.net(或其他服务器应用程序模型)尤其如此,其中viewModel或多或少只是属性包,以便在将其返回给客户端之前将所有状态组合在一起。