Model view controller 使用MVC,与自主外围设备的交互属于模型还是控制器?

Model view controller 使用MVC,与自主外围设备的交互属于模型还是控制器?,model-view-controller,language-agnostic,model,controller,peripherals,Model View Controller,Language Agnostic,Model,Controller,Peripherals,使用带有观察者模式的MVC,如果用户操作需要轮询设备(如摄像头)以获取数据,那么轮询应该在控制器中完成,并且结果从模型传递出去,还是应该向模型发送请求,并且模型本身执行轮询 这个问题是我试图将我所读到的鼓吹“瘦控制器”格言的所有内容与我的直觉相协调,即模型应该只作用于数据,而不是获取数据 (注意:这个问题可能是主观的。我不完全确定这个问题是否有一个正确的答案。如果没有,请随时重新标记,因为我非常有兴趣听到关于这个问题的意见。)控制员应该执行轮询。在我看来,模型是状态的快照,所以相机状态应该从控制

使用带有观察者模式的MVC,如果用户操作需要轮询设备(如摄像头)以获取数据,那么轮询应该在控制器中完成,并且结果从模型传递出去,还是应该向模型发送请求,并且模型本身执行轮询

这个问题是我试图将我所读到的鼓吹“瘦控制器”格言的所有内容与我的直觉相协调,即模型应该只作用于数据,而不是获取数据


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

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

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

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

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


-Adam

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