3

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 docs を引用すると、次のように書かれています。

プロキシは、ローカル データ オブジェクトへの参照を単純に管理する場合があります。この場合、プロキシとの対話には、同期方式でのデータの設定と取得が含まれる場合があります。

プロキシ クラスは、アプリケーションとリモート サービスとのやり取りをカプセル化してデータを保存または取得するためにも使用されます。プロキシでデータを設定 (またはメソッドを呼び出し) し、プロキシがサービスからデータを取得したときに送信される通知をリッスンします。

この場合、高価で時間のかかるデータを取得するときに、プロキシを非同期で実行するにはどうすればよいですか?

4

1 に答える 1

0

あなたの質問は本当に興味深いです。私はPureMVCを勉強したばかりで、それは私の考えであり、証明されていません.

puremvc.patterns.observer の Notifier を活用してみてはいかがでしょうか。または、はるかに簡単な方法で、非同期データ取得関数で、プロセスが完了したときに通知を送信します:) その方法は、PureMVC のように聞こえます: 通知による通信です。私が推測する唯一の懸念は、通知メカニズムがスレッドセーフであることを確認することです。

もう1つのアイデア。Utility-AS3 / Startup Managerの背後にあるアイデアを試すことができます。

于 2011-02-16T10:24:03.343 に答える