使用MVC,与自治外设的交互是否属于模型或控制器?
-
03-07-2019 - |
题
将MVC与观察者模式一起使用,如果用户操作需要轮询设备(例如摄像头)以获取数据,是否应在Controller中进行轮询并将结果从模型传递出来,或者是否应将请求发送给模型和模型本身执行轮询。
这个问题是我试图调和我正在阅读的所有“吹嘘控制者”的内容。根据我的直觉,格言应该只对不获取数据的数据采取行动。
(注意:这个问题可能是主观的。我不完全确定这个问题有一个真实答案。如果没有,请随意重拍,因为我会非常有兴趣听取有关该主题的意见。)
解决方案
它属于控制器。该模型包含信息和业务规则,控制器本质上是非用户,信息或业务规则的所有内容的接口,视图处理用户交互。
有人可能会认为视图也可以控制它 - 相机模型和驱动程序可能由用户决定,因此属于该区域。
但我不希望该模型具有外设接口。
- 亚当
其他提示
Controller应执行轮询。模型是我脑海中状态的快照,因此摄像机状态应该从控制器传递到模型。
您可以在控制器及以上型号下添加一个瘦服务层,这样您就可以将所有访问外围代码放在一个地方了
不隶属于 StackOverflow