计算出的数量是模型,视图或控制器的一部分吗?

时间:2015-06-06 15:03:21

标签: java model-view-controller

假设我有一个模型 - 视图 - 控制器类型的应用程序。该车型是一辆带有发动机和轮胎等的汽车。汽车的速度是一个派生/计算的非持续量,取决于发动机和轮胎。

速度应该是模型的一部分吗?或者它应该是视图的一部分吗?

到目前为止,我已经让速度成为视图的一部分(因为它不是持久化的,并且模型不会将其用于任何事物)。但我发现我越来越需要有很多显示速度的视图(例如概述和详细视图)。这导致我最终在模型之外的任何地方传递SpeedCalculator类或在我的视图中创建getSpeedCalculator类型访问器,这使我相信计算出的数量应该是模特。

但我想对此有一些意见。

1 个答案:

答案 0 :(得分:3)

继续你的感觉并将该属性确定为模型中的合成字段。因此没有额外的物理场,但将推导函数作为一个吸气剂。在我看来,没关系,因为getter只是一个非常愚蠢的字段访问器,并且值的定义在整个应用程序中看起来是相同的,特别是与它出现的视图无关。 / p>

如果计算将依赖于视图,我建议将派生函数作为实用程序放在控制器级别上,因此这确实成为基于您的计划/要求的架构问题。