使用MVC,与自治外设的交互是否属于模型或控制器?

时间:2008-10-21 15:53:15

标签: model-view-controller language-agnostic model controller peripherals

将MVC与观察者模式一起使用,如果用户操作需要轮询设备(例如摄像头)的数据,是否应在Controller中进行轮询并将结果从模型传递出来,或者是否应将请求发送给模型和模型本身执行轮询。

这个问题是我试图调和我正在阅读的所有内容,并以“我的直觉”来宣传“瘦弱的控制者”格言,即模型应该只对未获取数据的数据采取行动。

(注意:这个问题可能是主观的。我不完全确定这个问题有一个真实的答案。如果没有,请随意重拍,因为我会非常有兴趣听取有关该主题的意见。)

3 个答案:

答案 0 :(得分:1)

Controller应执行轮询。模型是我脑海中状态的快照,因此摄像机状态应该从控制器传递到模型。

答案 1 :(得分:1)

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

有人可能会认为视图也可以控制它 - 相机模型和驱动程序可能由用户决定,因此属于该区域。

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

- 亚当

答案 2 :(得分:1)

您可以在控制器及以上型号下添加一个瘦服务层,这样您就可以将所有访问外围代码放在一个地方了