0

我有一个项目表,每个项目都可以分配给定数量的图像,其中一些是特色图像。一次只能启用其中之一。

我在图像表中有这些字段:特色(0 或 1)已启用(0 或 1)

遵循 MVC 架构,当我启用图像时,我不确定是否应该在控制器或模型中执行以下操作(我已经简化了示例,因为它有点复杂):

  1. 检查此图像是否有特色。
  2. 如果它是特色图片,请禁用任何特色图片并启用此图片。

我可以从模型获取它的状态(有或没有)到控制器,让控制器命令模型禁用所有有特色的图像,然后告诉模型启用这个,或者让模型在内部管理这一切。

我的问题出现了,因为据我所知并且我有时读过,控制器被称为引擎,而模型只是按照控制器的命令执行。

但是我认为在这种情况下,模型可能会自力更生地将这些约束作为黑盒进行管理,而无需控制器知道它们。

你怎么看?

4

1 回答 1

1

我建议您在项目表中增加一个字段。并存储启用图像的 id(可以是特色图像或启用图像)。

此方法将解决您的两个问题

1.Check if this image is featured.
2.In case it is featured, disable any featured image and enable this one.

每次,只需存储启用或精选的图像的 id。因此,您不必在图像表中进行太多更新。

于 2012-12-14T20:26:15.953 回答