問題タブ [observer-pattern]

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 投票する
4 に答える
2665 参照

multithreading - プログレス バーと複数のスレッド、GUI とロジックの分離 - どのデザイン パターンが最適か?

アプリケーションの設計に適合する設計パターンを探しています。

私のアプリケーションは大量のデータを処理し、いくつかのグラフを生成します。データ処理 (ファイルからのフェッチ、CPU を集中的に使用する計算) とグラフ操作 (描画、更新) は、別のスレッドで実行されます。

グラフはスクロールできます。この場合、新しいデータ部分を処理する必要があります。グラフには複数の系列が存在する可能性があるため、複数のスレッドを生成できます (系列ごとに 2 つのスレッド、データセットの更新用に 1 つ、グラフの更新用に 1 つ)。

複数の進行状況バーを作成したくありません。代わりに、グローバルな進行状況を知らせる単一の進行状況バーが必要です。現時点では、MVC と Observer/Observable について考えることができますが、少しぼやけています :) 誰かが私を正しい方向に向けてくれるかもしれません、ありがとう。

0 投票する
11 に答える
24326 参照

c# - C#: イベントまたはオブザーバー インターフェイス? 長所短所?

私は次のものを持っています(簡略化):

...そして、私は矛盾しています。これは基本的に C++ で記述したものですが、C# にはイベントがあります。イベントを使用するようにコードを変更する必要がありますか、それともそのままにしておく必要がありますか?

従来のオブザーバー インターフェイスに対するイベントの長所と短所は何ですか?

0 投票する
8 に答える
11474 参照

java - コレクションへの変更を監視する

次の Java Bean があるとします。

通常、コレクションのプロパティ変更イベントをどのように実装しますか? コレクションよりも配列に適していると思われる index プロパティを試してみますか?

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

events - パラメータ化された名前を持つすべての Seam コンテキスト イベントをリッスンするにはどうすればよいですか?

Seam は、特定のスコープ、タスク、またはプロセスに関連するさまざまな種類のイベントを起動し、スコープ、タスク、またはプロセスの名前をイベントの最後に追加します。

あるタイプのすべてのイベントをリッスンするにはどうすればよいですか?

たとえば、<name>次のようなイベントをリッスンしたい場合:

  • org.jboss.seam.createProcess.<name>— プロセスが作成されたときに呼び出されます
  • org.jboss.seam.endProcess.<name>— プロセスの終了時に呼び出されます
  • org.jboss.seam.initProcess.<name>— プロセスが会話に関連付けられたときに呼び出されます
  • org.jboss.seam.startTask.<name>— タスクの開始時に呼び出されます
  • org.jboss.seam.endTask.<name>— タスクが終了したときに呼び出されます

前もって有効な名前のリストを知らなくても、これを行う必要があります... :-(

@Observer を使用してオブザーバーまたは類似のものを作成したいと考えており、同じコンポーネントで最大 2 つのイベント クラスをリッスンします。

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

c# - 呼び出しはWCFで同期されていますか?

クライアントがサーバーにサブスクライブし、更新がクライアントにプッシュバックされるWCFを使用してアプリを作成しています。

サブスクライバーは、サーバーでSubscribe()メソッドを呼び出すDuplexPipeChannelを使用してサーバーにサブスクライブします。

サーバーはサブスクライバーのList<>を維持し、サブスクライバーにプッシュするデータがある場合は、PushData()メソッドを呼び出します。

私の意図は、各サブスクライバーでpushメソッドを呼び出すサブスクライバーのリストを順番に繰り返すことです。

私が知りたいのは、サブスクライバーのpushメソッドの呼び出しがブロックされているかどうかです。接続に障害が発生したり、サブスクライバーの1つへの接続が遅延したりすると、残りのプッシュ呼び出しが遅延しますか(またはさらに悪いことに失敗します)?

これが明らかな質問である場合は申し訳ありませんが、私はこれまでほとんど.Net 2.0を使用していたため、WCFについてはほとんど知りません。

私のWCFコードは、このチュートリアルに大まかに基づいています。

別の質問 同期していると仮定すると、クライアント側の要求を処理するために新しいスレッドを生成する方がよいのでしょうか、それとも「プッシュサーバー側」ごとに新しいスレッドを生成する方がよいのでしょうか。

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

ruby - Rubyでイベントを行うには?

私は C# のバックグラウンドを持ち、Ruby でプログラミングを始めたばかりです。問題は、何かが起こる必要があるときにさまざまなオブザーバーをトリガーできるように、クラスでイベントを発生させる方法を知る必要があるということです。

問題は、私が持っている Ruby に関する本では、例を提供するどころか、イベントについても言及されていないことです。誰でも私を助けることができますか?

0 投票する
12 に答える
11697 参照

ruby-on-rails - レーキタスク中にオブザーバーをオフにする簡単な方法は?

アプリで restful_authentication を使用しています。rake タスクを使用して一連のデフォルト ユーザーを作成していますが、ユーザー モデルにオブザーバーが関連付けられているため、タスクを実行するたびにアクティベーション メールが送信されます。ユーザーを作成するときにアクティベーション フィールドを設定しているので、アクティベーションは必要ありません。

ユーザーを保存するときに電子メールが送信されないように、rake タスクの実行中にオブザーバーをバイパスする簡単な方法を知っている人はいますか?

ありがとう。

0 投票する
6 に答える
991 参照

c++ - オブザーバー パターンの const-correct Notifier

Model を変更しない Model クラスの Observer を実装したいと考えています。したがって、const-Reference を使用してモデルにアクセスできる必要があります。しかし、オブザーバーの登録はこれを禁止しています。

私のプロジェクトでオブザーバーパターンを実装する方法は次のとおりです。

非変更オブザーバーがモデルを「変更」する必要がある唯一の場所は、モデルに登録する場合です。ここで const_cast を避けることはできないと感じていますが、より良い解決策があるかどうかを知りたいと思っていました。

補足:別の言い方をすれば、モデル オブジェクトが管理する「オブザーバーのリスト」がモデルの状態の一部であるとは考えていません。C++ は違いを見分けることができず、状態とオブザーバーをまとめて、両方を const または非 const に強制します。

乾杯、フェリックス

0 投票する
3 に答える
1627 参照

c# - リストが更新されたときにトリガーされるイベントの作成

次のように、汎用 List オブジェクトを保持する静的クラス (DataFormSubject) を取得しました。

このリストに依存する他のクラスには、リストが更新されたときに通知する必要があるため、次のようにカスタム イベントと、項目が追加または削除されたときにトリガーできる関連メソッドを作成しました。

List は、次のように、プロパティを介して静的クラスから利用できます。

しかし、ここでの問題は、クライアントがプロパティにアクセスし、クラスに対して直接追加または削除を行うことで、更新イベントをバイパスできることです! 例えば

どうすればこれを防ぐことができますか、または私が望むものを達成するためのより良い方法はありますか? 理想的には、オブザーバーがサブスクライブできる List クラスの更新イベントが必要です。