1
1
如果您正在考虑纯推送导向的MVC方法,那么信息路由应该是: C___V 在每个组件之间,您d推送一条具有不同语义字段的消息;通常在GUI应用程序中,它d如下:
使用(a),视图必须轮询模型以获取信息。如果可以避免的话,我不建议这样做,因为它会在视图和模型之间产生紧密耦合。
使用(b),视图_
在我看来,最好的解决办法是: 让您的模型根据控制器事件(或消息)实例化计算线程。然后让计算线程通知模型它的进度。实际上,根据计算线程的进度/状态,模型可能有兴趣进行一些处理。 当模型想要通知其视图(根据计算进度或其他状态依赖关系,这些视图可能不是相同的视图)时,让它通知感兴趣的视图您需要发送的任何模型信息。 如果您的视图需要进行一些GUI呈现,根据您的GUI工具箱线程安全性,您可能需要在视图更新中使用延迟呈现方法。 模型和视图之间的一个方便的通信总线是 Observable / Observer . 但是,您也可以执行直接调用(这将在模型和视图之间创建紧密耦合)。 |
2
3
在我看来,投票应该是最后的解决办法。为什么您的模型不发出进度事件并订阅它们呢? |
3
1
我猜在这里该怎么做(移植到DSP上?真的?我想您的意思是只有长时间运行的过程)是您应该让模型成为数据和元数据。有一个线程是一个长期运行的控制器,它更新数据和元数据。您的GUI线程是其他的控制器,当需要构建一个视图时,它们将查看数据和元数据,并为视图争论这一点。元数据可以是长期运行的转换或进程的当前状态,也可以包括播放头和录制头的位置。 |
4
-1
如果您的业务逻辑需要很长的处理时间,您可以使用多种技术来实现您的目标: 您可以尝试在操作中使用任务和异步。 或 您可以使用wcf duplex调用,该调用将在完成后返回异步结果。 或 你可以试着用信号器 |
KollegeBo · 触发更新的POST或GET 2 年前 |
mariolototo · 无法获取“/”express以外的路线 2 年前 |
nnmmss · 根据查询字符串值激活li 2 年前 |
Ezaldeen Ezaldeen · pdo包装器最后一个id返回0 2 年前 |
Bruno Vavretchek · JSON模型建议 6 年前 |
Pasha · 如何在@RequestBody中传递2个对象? 6 年前 |