1

PureMVC 標準を使用するプロジェクトに取り組んでいます。ここで、やはり Standard を使用する新しいモジュール SWF を追加する必要があります。Standard MVC を MultiCore MVC に置き換えることが解決策であることはわかっていますが、次の 2 つの問題があります。

  • Standard のパッケージ構造は MultiCore のものとは異なります - これを手動で修正する必要がありますか?
  • 標準の mvc フレームワークでは、コンストラクター内の一部のコードMediatorが許可されていますが、MultiCore ではこれは絶対に禁止されているようです。これを取り除くために非常に多くのコンストラクターを変更する必要がありますか?

最後に: Standard を MultiCore に置き換える以外に、問題を解決するためのより良い方法はありますか?

4

1 に答える 1

1

プロジェクト全体でのグローバルな検索と置換以外に、パッケージ構造を変更するための他の優れた方法を知りません。私もこれを行うのに問題はありませんでした。

メディエーターの場合、コンストラクターで単純な変数(ints、Booleans、Arraysなど)を初期化することに問題はありませんでしたが、それ以外のもの(特にステージに関係するもの)はonRegisterに延期され、次のようになります。

public class MyMediator extends Mediator implements IMediator {
    public static const NAME : String = "MyMediator";

    // internal states
    private var foo : int;

    public function MyMediator (viewComponent : Object) {
        super(NAME, viewComponent);

        foo = 0;

        trace("MyMediator()", main_mc);
    }

    override public function onRegister () : void {
        main_mc.addEventListener(...);
    }

    protected function get main_mc () : Main {
        return viewComponent as Main;
    }
}

AS3にスパースコンストラクターを含めることは、とにかく良い考えです。コンストラクターコードは常に解釈され、コンパイルされないためです。

今の習慣から、私は単一のコアを持っている場合でも、すべてのプロジェクトにマルチコアを使用しています。これにより、新しいプロジェクトでのメディエーターとプロキシの再利用がはるかに簡単になります。

于 2012-05-22T15:48:02.343 に答える