問題タブ [puremvc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-view-controller - GWTアプリケーションを設計するためのあなたの推奨事項は何ですか?MVC、MVP、またはカスタムメッセージングソリューション?
クライアント向けに新しいGWTプロジェクトを開始したばかりで、さまざまなGWTMVCアーキテクチャに関する人々の経験を聞くことに興味があります。最近のプロジェクトでは、GXT MVCとカスタムメッセージングソリューション(AppceleratorのMQに基づく)の両方を使用しました。GXT MVCは問題なく動作しましたが、GWTにとってはやり過ぎのようで、ブラウザーの履歴を処理するのは困難でした。PureMVCとGWTigerについて聞いたことがありますが、使用したことはありません。カスタムMQソリューションは非常にうまく機能しましたが、JUnitを使用してコンポーネントをテストすることは困難でした。
さらに、Google Wave(GWTアプリケーション)はModel-View-Presenterパターンを使用して記述されていると聞きました。サンプルのMVPアプリケーションが最近公開されましたが、コードを見ると、それほど直感的ではないようです。
新しいGWTアプリケーションを構築する場合、どのアーキテクチャを使用しますか?あなたが選んだ長所と短所は何ですか?
ありがとう、
マット
apache-flex - Flex modulleader url、なぜルートだけを見ることができないのですか?
flex FrameworkとしてpureMVCマルチコアを使用しています。モジュールをロードする必要がある場合は、最初の行「moduleEval.swf」を使用します。
ローカルでのテストに適しています。
しかし、オンラインでは明らかな本番サーバーではありません。その場合、完全なURLを入力する必要があります。
それは正常ですか?
ありがとう、
グレッグ
apache-flex - Flex PureMVCでメディエーターがプロキシに結合されているのはなぜですか?
私は最近PureMVCフレームワークを学びましたが、プロキシオブジェクトとメディエーターオブジェクト間の結合について少し混乱しています。このページのリンクは、フレームワークを説明するいくつかのドキュメントに接続しています。(前述のページのリンクはPDFを開いていることに注意してください。)
私が調べたPureMVCの図と例は、メディエーターとプロキシの間の直接結合を示していることがよくあります。プロキシの状態が更新されると、新しい通知を送信するのではなく、メディエーター(ファサードからプロキシへの参照を取得する)の状態が更新されます。
これは確かにコードのロジックを単純化するように見えますが、2つの一見異なるコンポーネントを直接結合することにもなります。私の理解では、メディエーターの目的は、ビューからのイベントをPureMVC通知に変換することです。プロキシは、データを収集してビューに中継するための何らかの機能を実行することを目的としています。これらの2つのコンポーネントは、アプリケーションの異なるレイヤーに存在するように見えます。おそらく、必ずしも一緒に結合する必要はありません。
プロキシオブジェクトが状態を更新したときに独自の通知を送信し、ファサードによって関心のあるメディエーターに転送されるようにする方が理にかなっていますか?
actionscript - PureMVCでは、プロキシは自分で通知を送信する必要がありますか、それともApplicationFacadeを介して送信する必要がありますか?
PureMVCフレームワークでは、プロキシは通知を介してApplicationFacade(したがって関心のあるコンポーネント)と通信します。この通知は、独自のインスタンスを介して送信する必要がありますか、それともApplicationFacadeのシングルトンインスタンスを介して送信する必要がありますか?率直に言って、それは重要ですか?
これを行う2つの方法(Flex / AS)は次のとおりです。
2番目の方法は、私にはより冗長で直感的ではないように見えます。さらに、プロキシには通知を送信する機能があります。これは、私の考えでは、おそらくそうすべきであることを意味します。プロキシがApplicationFacadeインスタンスを介してのみ通知を送信する必要があるインスタンスはありますか?
model-view-controller - どんなデザインパターン?アプリには、編集と表示の 2 つのモードが必要です
アプリケーションに 2 つのモードが必要な場合、醜い条件付きコードを防ぐためにどのデザイン パターンを使用すればよいでしょうか? アプリは現在 MVC ですが、コントローラーに条件付きコードは必要ありません。必要でない限り、ビューごとに 2 つのコントローラーは必要ありません。
助言がありますか?
apache-flex - pureMVC: インターフェースの各タブに固有のメディエーター
さまざまな同様のレイヤーを切り替えるためのタブ付きインターフェイスを構築しています。各レイヤーには多数のグラフがあります。マウスでドラッグすると、グラフを再配置したり、レイヤー間を移動したりすることもできます。私の質問は、レイヤーのコンテンツ/組織を追跡するレイヤーごとに一意のメディエーターを登録するのがベストプラクティスですか、それとも 1 つの中央メディエーターですべてを追跡する必要があります。
いくつかの考慮事項:
ユーザーがアプリに戻ったときに復元できるように、レイヤーのコンテンツと組織は(データベースに)保存されます。
レイヤー自体は機能的に同一です。
ユーザーは自由にレイヤーを追加および削除できます。
ありがとう!
design-patterns - flex puremvc フレームワークでプロキシとメディエータを登録するのに最適な場所はどこですか?
フレックスベースのプロジェクトを開発するために puremvc フレームワークを使用しています。私の質問は、プロキシクラスとメディエータークラスの登録を遅らせる最良の方法は何ですか? 現在、起動コマンドで起動メディエーターを登録しています。
私のコードには:
- ApplicationFacade.as
- StartupCommand.as
- StartupMediator.as
- LoginCommand.as
- LoginMediator.as
- LoginProxy.as
- LoginView.as
ApplicationFacade.asでは、 StartupCommandに通知を送信しています。StartupCommandは StartupMediator を登録します。
今私の質問:
- LoginMediatorを登録する時期と場所は ?
- LoginProxyを登録する時期と場所は ?
- LoginCommandに通知を送信する タイミング
LoginMediatorと LoginProxyをLoginCommandに登録すると、
p>LoginCommandの通知を 複数回 送信すると、 LoginProxyとLoginMediatorの複数のインスタンスが作成されます。では、それを回避する方法は?
model-view-controller - オブジェクトを構築せずにFacade.Instanceメソッドを使用するにはどうすればよいですか?
私は最近、ソフトウェアパターンに関する単元を完了し、PureMVCフレームワークを理解しようとしています。しかし、私が困惑していることが1つあります。それは、ここの教祖にとって単純なことです。
シングルトンFacadeクラスのインスタンスを作成しようとしています。コンストラクターでは、コメントは次のように述べています。
このIFacade実装はシングルトンであるため、コンストラクターを直接呼び出すのではなく、静的シングルトンファクトリメソッドFacade.Instanceを呼び出す必要があります。
Facadeオブジェクトが作成されていない場合、どのようにしてインスタンスメソッドを呼び出すことができますか?
Facade.Instanceメソッドは次のようになります。
apache-flex - Flex アプリケーション フレームワーク -- PureMVC の移植性と Swiz の比較?
私の会社は、他のプラットフォームに移植する必要があるかもしれない Flex アプリケーションを構築しています。
- シルバーライト (可能性あり)
- モバイル (おそらく -- iPhone: Objective-C 、Android: Java など)
- デスクトップ (おそらく -- AIR、.NET など)
- テレビ(おそらく最終的に)
現在、構築するアプリケーション フレームワークを検討しており、pureMVC と Swiz の間で迷っています。
そのシンプルさと、物事を接続して独自のパターンを適用する方法を提供してくれるswizが大好きです。フレックスのみの観点からは、これが私の第 1 の選択肢です。
ただし、PureMVC はプラットフォームに依存せず、上記のほとんどのプラットフォームに既に移植されています。 この移植性はどれほど価値がありますか? 複数のアプリケーションの移植と開発/保守に関して、本当に私たちの生活を大幅に楽にしてくれるのでしょうか? もしそうなら、PureMVC が進むべき道のようです。
別の方法として、Silverlight にはアプリケーションの移植に関して最も明確なビジネス ケースがあるため、Swiz を Silverlightに移植することはできますか? 私は、Swiz がどの AS3 言語と Flex フレームワーク機能に依存しているか、またそれらが C#/Silvelright で利用できるかどうかについてあまり詳しくありません。 これは実際に可能でしょうか?
本当にありがとう!
カーシック
apache-flex - Mediator は PureMvc でビューを保持する必要がありますか?
pureMvc について 1 つ質問があります。
エンジンを構築するために pureMvc を使用します。エンジンの初期化部分に要件があります。
1) moduleA は最初に初期化する必要があります
2) moduleB 、 moduleC は、moduleA の初期化完了後に初期化が必要です。
3) moduleD は、moduleB と moduleC の初期化が完了した後に初期化が必要です。
4) moduleA 、 moduleB 、 moduleC 、 moduleD はすべて Proxy を拡張します。これは、4 つのシステムがすべて通知を送信する必要があるためですが、リッスンする必要はありません。
しかし、要件を満たすために、コマンドを使用してそれを行うことはできません.ini順序があり、現在の状態を覚えておく必要があるためです(例:moudelBはinit Complateですが、moudleCはinit complateではなく、moudleDをinitできません)が、コマンドはステートレスです。
私が思う最善の方法は、通知をリッスンして送信できるため、1つのメディエーターを使用することです。
私の質問は:
1)これは、1つのメディエーターを使用してそれを行う良い方法ですか?
2) Mediator を使用するのが適切な方法である場合、最初に moduleA が init complate であると聞いたときに
そのようなことをする必要がありますか、それとも Mediator で単に inti ロジックを実行する必要がありますか?
ありがとう