2

使用带有观察者模式的 MVC,如果用户操作需要轮询设备(例如相机)以获取数据,应该在 Controller 中完成轮询并将结果从 Model 传递出去,还是应该向 Model 和模型本身执行轮询。

这个问题是我试图调和我正在阅读的所有内容,这些内容吹捧“瘦控制器”格言与我的直觉,即模型应该只对不获取数据的数据起作用。

(注意:这个问题可能是主观的。我不完全确定这个问题有一个唯一的答案。如果没有,请随时重新标记,因为我很想听听关于这个主题的意见。)

4

3 回答 3

1

控制器应执行轮询。模型是我心中状态的快照,所以相机状态应该从控制器传递到模型。

于 2008-10-21T15:55:35.820 回答
1

它属于控制器。模型包含信息和业务规则,控制器本质上是所有非用户、信息或业务规则的接口,视图处理用户交互。

有人可能会争辩说,视图也可以控制这一点——相机型号和驱动程序可能由用户决定,因此属于该区域。

但我不希望该模型具有外围接口。

-亚当

于 2008-10-21T15:56:46.440 回答
1

您可以在控制器下方和模型上方添加一个瘦服务层,这使您可以将所有对外围代码的访问权放在一个地方

于 2008-10-21T16:00:38.977 回答