現在、Pythonをベースにしたflex4 + robotlegs + as3signals+googleアプリエンジンを使用して非常に大きなアプリを構築しています。
1)問題は、ビューからメディエーターへ、およびメディエーターからコンテキストへと同じシグナルを再取得していることに気付いていることです。
2)もう1つの問題は、モデルで1つのメソッドを実行するだけのメディエーターからのシグナルに対してコマンドを実行していることです。
flex 4を使用すると、スキンがビジネスロジックから分離される可能性があることに注意してください。つまり、スキン、そのスキンのコンポーネント(SkinnableComponent)、およびモデルがあります。それが私の新しいアプローチです。コンポーネントは肌をリッスンします。コンポーネントには強い型のモデルオブジェクト(挿入)があり、メソッドを直接呼び出します。コンポーネントは、ディスパッチするモデル信号をリッスンします。コンポーネントは以上です。メディエーターはコンポーネントで変換されます。また、コマンドは使用されません。
ここで問題は次のとおりです。ビュー(私の場合はコンポーネントと呼びます)をメディエーターにマッピングする代わりに、使用されていないため、メディエーターが接続されていないコンポーネントをマッピングするだけです。次に、コンポーネントが[Inject]メタタグを使用できるようにします。
これが私に必要なものです、それを実装する方法について何かアイデアはありますか?そしてもちろん、私はあなたの意見を聞いてそれを批判することを嬉しく思います、それは常に改善するのに役立ちます;)
御時間ありがとうございます!;)
コード:
[スキン]ユーザーによって引き起こされたイベントをディスパッチします
[Component]はメディエーターに似ていますが、SkinnableComponentを拡張するため、まったく異なります。スキンイベントをキャッチします。強い型のモデルがあります。次に、モデルの直接メソッドを呼び出します。モデルを聞いてください。モデルがイベントをディスパッチすると、コンポーネントの状態が変化します。
...
[Inject]
public var accountModel:AccountModel;
[Inject]
public var xxxModel:XxxModel;
// then the component run methods on it and listen on it. easy and no complications.
【モデル】何も知らない。イベントまたはシグナルをディスパッチするだけです。