Python 中的异步 PureMVC
Posted
技术标签:
【中文标题】Python 中的异步 PureMVC【英文标题】:Asynchronous PureMVC in Python 【发布时间】:2011-03-27 21:33:51 【问题描述】:从底部的缩短版本中获取here 的以下代码,存在此代理:
class DataModelProxy(puremvc.patterns.proxy.Proxy):
NAME = "DataModelProxy"
def __init__(self):
super(DataModelProxy, self).__init__(DataModelProxy.NAME, [])
self.realdata = Data()
self.sendNotification(AppFacade.DATA_CHANGED, self.realdata.data)
def setData(self, data):
self.realdata.data = data
print "setData (model) to", data
self.sendNotification(AppFacade.DATA_CHANGED, self.realdata.data)
引用 PureMVC Python 文档中的here,它说:
代理可能只是管理对本地数据对象的引用,在这种情况下,与其交互可能涉及以同步方式设置和获取其数据。
代理类也用于封装应用程序与远程服务的交互以保存或检索数据,在这种情况下,我们采用异步的习惯用法;在 Proxy 上设置数据(或调用方法),并在 Proxy 从服务中检索数据时监听要发送的通知。
如果是这种情况,当我要检索昂贵且耗时的数据时,如何让我的代理异步执行?
【问题讨论】:
【参考方案1】:你的问题很有趣。我刚刚研究了 PureMVC,这只是我的想法,没有经过验证。
在 puremvc.patterns.observer 中使用 Notifier 怎么样?或者更简单的方法,在您的异步数据检索函数中,在处理完成时发送通知 :) 这种方式听起来很 PureMVC 方式:通过通知进行通信。我猜唯一需要考虑的是确保通知机制是线程安全的。
还有一个想法。你可以试试Utility - AS3 / Startup Manager背后的想法。
【讨论】:
以上是关于Python 中的异步 PureMVC的主要内容,如果未能解决你的问题,请参考以下文章