問題タブ [mediator]

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.

0 投票する
5 に答える
3147 参照

c# - ViewModel 間でコレクションを共有する

検索しましたが、必要な場所にたどり着くのに役立つものは何もありません。

問題の説明:

  1. 複数のビュー (ユーザー コントロール) をホストする単一のダイアログ ウィンドウがあります。[次へ] および [戻る] をクリックすると、ウィザードのように、このダイアログ内で前後に移動します。

  2. 6 つのダイアログのうち、4 つのダイアログが同じコア データを参照しています。たとえば、 ObservableCollection と言います

  3. その場合、すべてこの同じ ObservableCollection を参照する必要がある 4 つの viewModel があります。「ウィザード」ダイアログの新しいステップに進むたびに、リストを保存して再ロードしたくありません。

私の質問は、これを達成するための最良/最も実用的な方法は何ですか.

私が考慮した次のこと:

  1. 静的クラス
  2. シングルトン - うーん
  3. ビュー間でパラメーターを渡す (ただし、nextlocation と previouslocation は非常に汎用的であるため、これは困難です)。
  4. メディエーターのパターン?メディエーター パターンに関する私の問題は、ビュー間で「通信」したくないことです。すべてのビューで同じデータ ソースを共有したいだけです。
  5. オブザーバーパターン?ObservableCollections を使用して INotifyPropertyChanged を実装している場合、変更を誰かに通知する必要はありません。

この問題を解決するために必要な追加情報をお知らせください。喜んで提供いたします。

私はデザインをしているので、コード例を実際に探しているわけではありません。コード例が設計を説明するのに役立つなら、私はそれで大賛成です。

最後に、私はフレームワークを使用していないため、EventAggregator はオプションではありません (EventAggregator を正しく理解していない場合を除きます)。

前もって感謝します!!

0 投票する
2 に答える
11698 参照

javascript - メディエーターパターンの使用をお勧めしますか?

私は現在http://addyosmani.com/resources/essentialjsdesignpatterns/book/#mediatorpatternjavascriptを読んでいます

メディエーターパターンは、パブリッシュおよびサブスクライブ機能を設定するある種のオブジェクトとして理解しています。

通常、私はすでにメソッドを提供しているオブジェクトを設定していsubscribe()ますpublish()。具象オブジェクトは、このベースオブジェクトを拡張して、subscribe()publish()が常にプロトタイプ属性として登録されるようにします。

私が正しく理解しているように、メディエーターパターンは、オブジェクトにpublish-subscribe-methodsを追加するために使用されます。

この練習の利点は何ですか?構築時にメディエーターをセットアップさせるよりも、ベースオブジェクトにパブリッシュおよびサブスクライブ機能を提供する方が良い方法ではありませんか?

または、メディエーターパターンが間違っていることを理解しましたか?

0 投票する
1 に答える
1259 参照

c# - C# を使用したメディエーターを含む単体テスト メソッド

現在、大学の登録システムの単体テストを行っていますが、テストしようとしているメソッドに、仲介者として大学に連絡する仲介者が含まれていると、常にエラーが発生します。この方法をテストする方法のアイデアはありますか?

メソッドは次のとおりです。

0 投票する
1 に答える
927 参照

wso2 - Wso2 メディエーションのカスタム エラー ハンドラー

私の In sequence mediatior では、入力値に対していくつかのロジックを処理する必要があり、それに基づいて、Web サービスを呼び出すか、エラーを返すかを決定する必要があります。シーケンスを次のように定義しました

問題は、デフォルトで Web サービスが常に障害情報を Web サービスに渡していることです。1. メディエーターでスローされたカスタム例外がある場合、SOAP 障害が Web サービス クライアントにスローされます。2. すべての情報が正しい場合、Web サービスは適切に呼び出され、クライアントは適切な応答を取得します。

0 投票する
2 に答える
941 参照

java - JavaFx を使用したメディエーター

Mediator でデザイン パターンを使用しようとしています。すべてのコンポーネントを 1 つのクラスにするのではなく、GUI を分離するためです。

たとえば、他の GUI コンポーネントを使用する前にプログラムにログインする必要がある場合などです。したがって、ウィンドウを変更するときに各 GUI クラス (Login、addUser、ShowUser) が参照できる各 GUI 要素のインスタンスを作成する Mediator クラスを作成します。

私は例外を取得しています: Exception in thread "main" java.lang.IllegalStateException: Not on FX application thread; 現在のスレッド = メイン

メディエータを使用したい場合、どうすればこれを回避できますか?

アップデート

0 投票する
1 に答える
663 参照

unit-testing - robotlegs 2 のメディエーターとビューの単体テスト

robotlegs フレームワークを学んでいますが、この質問も一般的な性質だと思います。

View のボタンのイベントをリッスンする Mediator クラスがあり、そのイベントで、View の 2 つの TextField オブジェクトからのプロパティを含む VO を含む信号をディスパッチします。

以下はメディエータークラスです。

ボタンは、ビューにゲッターのみがあり、セッターがないプライベート変数です。

私の質問は、このクラスを単体テストするにはどうすればよいですか? 1.シグナルがディスパッチされているというイベントが発生したかどうかを確認する... 2.シグナルがディスパッチされたときに、正しいVOが含まれていること

モックを使用する必要があることはわかっており、モックレートを使用していますが、ビュークラスのボタンからディスパッチされたイベントをモックする方法がわからないため、円で回転していますか?

手伝ってくれてありがとう

0 投票する
1 に答える
329 参照

javascript - 0.9.9 の Backbone オブジェクトをメディエータの代わりとして使用できますか?

私はBackbone Fundamentalsを読んでいて、新しいプロジェクトでメディエーターとファサード パターンを使用することを計画していましたが、読んでいて、なぜアプリのメイン ルーター オブジェクト、または拡張するオブジェクトを使用できないのか疑問に思っていました。本で概説されているように、サブスクライブおよびパブリッシュ メソッドを実装するのではなく、メディエーターとして Backbone.Events を使用します。

Backbone 0.9.9 のドキュメントで、Backbone オブジェクト (現在は Backbone.Events から拡張されている) をグローバル イベント バスとして使用することが明示的に言及されているため、これについてさらに興味があります。これが良い選択肢であるかどうか、そしてそうでない場合はその理由を誰かが明確にすることができますか?

0 投票する
2 に答える
2863 参照

sequence - wso2 ESB のメッセージから SOAP ラッパーを削除する

WSO2esb を介して Web サービスを呼び出そうとしました。私の Web サービスは、このような SOAP メッセージしか受け入れません。

しかし、問題は、入力メッセージを esb に読み取るときです。esb は、このように測定に追加のラッパーを追加します。

エンドポイントを呼び出す前に、'application/XML' メッセージ フォーマッタを使用して実行できると思います。 *皆さん、助けてください、ありがとう

編集済み

プロキシ サービス構成を追加すると役立つと思いました。

これでは、デフォルトのアウトシーケンスを使用していません。その代わりに、出力ディレクトリへのファイルの書き込みを担当する「currencyFileWriter」と呼ばれるシーケンスを使用しています。

これは私のプロキシ サービスです。

そして、これは私の CurrencyFilewriter シーケンスです

0 投票する
0 に答える
170 参照

javascript - 異なるプロセスで使用される複数の xmlhttprequests に使用するのに適したパターン

ログインの確認、ツールチップの取得と表示、サブレコードの表示/詳細の表示など、さまざまなプロセスの一部である複数の xmlhttprequests を使用できる場合、どのようなパターンを使用するのがよいのでしょうか。

これまでのところ、私のコードに対するあなたの意見は大歓迎です。プロセスの非同期処理に関する参照用の優れた記事もいくつかあります。

メディエーターを使用して、メディエーターによってトリガーされ、特定のプロセスのワーカーによって開始される一連のイベントを定義しようとして、これまでに得たものを次に示します。

0 投票する
1 に答える
124 参照

wso2esb - ESB 4.6.0。ルーターメディエーター

ESB 4.0.0 でルーター メディエーターを使用しました。ESB を 4.6.0 にアップグレードすると、ルーター メディエーターが機能しなくなりました。また、メディエーター リストには存在しません。

Router メディエータは ESB 4.6.0 にまだ存在しますか?