将此逻辑放入MVC设计的最佳位置在哪里?

时间:2016-06-02 21:08:06

标签: model-view-controller

我正在考虑在ViewModel类上使用ReadOnly属性,该属性返回一个格式化字符串,显示从同一个类中的两个Date属性派生的日期范围。

该逻辑最适合Controller或View Model吗?

如果最好的位置是控制器,那么我在ViewModel,DateRangeForDisplay中只需要一个读/写属性。如果可以将它放在ViewModel中,我将有2个日期属性和字符串readonly DateRangeForDisplay属性。

1 个答案:

答案 0 :(得分:0)

可能基于意见,但是:

控制器根本不应该有数据属性。他们的工作是从View / UI获取事件并将其传播到Model / ViewModel(确切的术语取决于所选的架构风格)。

除了一些性能原因外,模型不应该关心数据的表示方式,因此不具备这样的属性。

ViewModels具有状态和格式化数据的 decorate 模型,这就是为什么这样的组合日期属性应该在ViewModel中。

我说这对于asp.net(或其他服务器应用程序模型)尤其如此,其中viewModel或多或少只是属性包,以便在将其返回给客户端之前将所有状态组合在一起。

architecture overview