問題タブ [event-driven-design]

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

event-driven-design - これは、Windowsサービスにとって適切なイベント駆動型アプローチですか?

イベント駆動型の設計について読んでいます。私は実際にそれのいくつかに頭を悩ませるのに苦労しています。サードパーティのTCPストリームからの情報を監視、解析、および処理するWindowsサービスにこれを使用することを検討しています。次はまともなアプローチですか、それとも私は何かを逃していますか?

私の計画は、メインサービスを単にイベントのコンテナにすることです。

次に、MEFなどを使用して、「ServiceAgent」インスタンスを登録します。これは、イベントを処理および/または発生させるだけで、オプションでバックグラウンドスレッドで実行します。例えば:

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

c# - Button_Click(オブジェクト送信者...の「送信者」は本当に送信者ですか?

Ted Faison は、イベントベースのソフトウェア設計に関するポッドキャストで、.NET、C++、および Java のイベント ステートメントの "sender" オブジェクトと "self" オブジェクトについて次のように言及しました。

たとえば、上記の例では、「送信者」は実際にはイベントを生成したオブジェクトではなくプロキシであるため、アプリケーションをそれほど緊密に結合したくないため、誤称です。

私は彼を間違って理解しましたか (デバッグすると、「送信者」は実際には元のオブジェクトのように見えます)。

それとも、これらの言語の一般的なイベント パターン (例: 一般的なクリック ハンドラー) は密接に結合されていますが、複合アプリケーションなどでは、より分離する必要があります。

彼はまた、たとえば EventArgs から継承を行うべきではないと述べました。これは、イベントごとに 1 つのクラスが爆発的に増加し、いくつかの変数しか転送されないためです。彼の意見では、多くの場合、たとえば文字列を送信するだけで済みます。彼は、この意見は Microsoft Patterns and Practices が示唆するものとは反対であると述べました。

これらの分野について何か考えはありますか?

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

architecture - EagerReadDerivation: メリットとコストのバランスを取る

これから取り組む予定の Silverlight アプリケーションのために、ドメイン駆動設計と分散 DDD について勉強しています。EagerReadDerivation パターンは、アプリケーションのスケーラビリティを向上させるように見えますが、複雑さが増します。

アプリケーションには、複数のサービスで処理する必要がある大きなテキスト ファイル (100,000 行以上) をアップロードする何千ものユーザーがいる可能性があります。また、"what-if" シナリオ (ParallelModel 風) もサポートする必要があります。モデル駆動型のアプローチは複雑さを管理するのに役立つと信じているので、データベースからロジックをできるだけ排除したいと考えています。

私の質問は、EagerReadDerivation パターンを試みた開発者に向けたものです。それはあなたにとって報われましたか?また、アプリケーションをさらに複雑にする価値はありましたか?

0 投票する
4 に答える
858 参照

ruby - RubyでActiveMQ+activemessaginggemを使用する際の問題

RailsアプリでAMQ+Activemessagingを実行しています。

メッセージを受信したときにアクティブメッセージングがメッセージに作用しないという問題に直面しています。これは、クライアントを再起動すると解決します。どうやら、それはしばらくの間は機能しますが、いつ奇妙な動作を停止するかはわかりません。

これにより、メッセージの読み取り中にメッセージが失われます。Stompクライアントは:ack => trueで構成され、メッセージの受信を確認しますが、メッセージの送信時にデータは使用できません。

同様の問題に直面している人、またはActivemessagingの代替手段を使用している人はいますか?

AMQ + Rubyを使用した作業シナリオはありますか?

乾杯、

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

java - Java と Javascript を使用したイベント駆動型?

サーバー上でいくつかの計算を実行しようとしています。このために、クライアントは最初に Javascript を介してキャプチャするデータを入力します。ここで、このデータを送信するために XMLHttpRequest をサーバーに送信します。計算に 1 時間かかり、クライアントがシステムを離れるか、システムの電源を切るとします。

実際には、おそらくクライアント側からのポーリングを使用して、結果が利用可能かどうかを判断します。しかし、これをコールバックの形で実装できる方法はありますか? たとえば、次回クライアントがログインしたときに、クライアント側の Javascript に連絡して結果を渡すだけです... これにはすべて、クライアント側に何らかのWebサーバーが必要であると考えていますが、これを行うためのより良いアプローチがあるかどうか疑問に思っていました.

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

event-driven-design - イベント駆動型 vs シーケンシャル プログラミング

私の友人の 1 人が最近、イベント駆動型プログラミングとシーケンシャル プログラミングの長所と短所についてチーム内で議論しました。

それについてどう思いますか。

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

java - Java を使用した非同期プログラミング

Java を使用した非同期プログラミングの例はどこにありますか? 私は、応答性 (定期的にハングしてユーザー入力への応答を停止するアプリケーションや、クライアントの要求にタイムリーに応答しないサーバー アプリケーションを防ぐ) とスケーラビリティを示すアプリケーションを構築するための非同期プログラミングのパターンを見つけることに興味があります。

特に、I/O 操作 (ファイルの読み取り/書き込み、Web 要求、データベース クエリなど) を実行し、Web ページのショッピングの提案者のように多くの CPU 処理を行うサンプルを見ると役立ちます。

アプリケーションの応答性が予測できない場合を判断するのに役立つ Java ライブラリはどれですか。アプリケーションのスレッドが I/O 要求を実行するため、アプリケーションは基本的にスレッドの処理の制御を I/O デバイス (ハード ドライブ、ネットワークなど)

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

c# - 列挙型を使用した C# イベント ハンドラー

オブジェクトのステータスが変化したときに発生する StatusChanged イベントがありますが、アプリケーションは新しいステータスに基づいて追加のアクションを実行する必要があります。

たとえば、新しいステータスが [切断] の場合、ステータス バーのテキストを更新し、電子メール通知を送信する必要があります。

そのため、考えられるステータス (Connected、Disconnected、RecomingData、SendingData など) を持つ Enum を作成し、イベントが発生したときにイベントの EventArgs パラメーターと共にそれを送信したいと考えました (以下を参照)。

オブジェクトを定義します。

新しい EventArgs パラメータを定義します。

次に、アプリケーションでイベントのハンドラーを作成します。

問題は、オブジェクトがイベントを発生させようとすると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されることです。誰かがそれを修正する理由と方法をn00b用語で説明できることを願っています:)

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

c# - Asp.Net ページの 1 か所ですべてのエラー/メッセージを処理するにはどうすればよいですか?

ここでいくつかのガイダンスを探しています。

私のサイトでは、Web ユーザー コントロールに配置しています。たとえば、NewsItem コントロール、Article コントロール、ContactForm コントロールがあります。

これらは、私のサイトのさまざまな場所に表示されます。

私が探しているのは、これらのコントロールが存在するページにメッセージを渡す方法です。

それらを密結合したくないので、イベント/デリゲートでこれを行う必要があると思います。ただし、これをどのように実装するかについては少しわかりません。

いくつかの例:

1

お問い合わせフォームが送信されます。送信後、そのメッセージの配置を制限する「あなたのメールが送信されました」に置き換えるのではなく、ステータス メッセージとおそらく推奨される動作でコントロールがオンになっていることをページに通知したいと思います。したがって、メッセージには、レンダリングするテキストと、いいenumDisplayAs.PopupDisplayAs.Success

2

Article Control は、データベースに Article オブジェクトを照会します。データベースは例外を返します。DisplayAs.Errorカスタム例外は、列挙型とともにページに渡されます。ページはこのエラーを処理し、エラーが発生した場所に表示します。

ValidationSummary コントロールと同様のことを達成しようとしていますが、列挙型が適切であると感じたときにページにメッセージを表示できるようにしたいという点が異なります。

繰り返しますが、ページに存在するコントロールを厳密にバインドしたり、依存したりしたくありません。コントロールでこれらのイベントを発生させたいのですが、必要に応じてページでそれらを無視できます。

私はこれを正しい方法で行っていますか?

code始めるためだけにサンプルが欲しいです。

これはより複雑な質問であることはわかっているので、回答を投票/選択する前に、もう少し待ちます.

0 投票する
7 に答える
14796 参照

javascript - イベント駆動型アーキテクチャ用の jQuery プラグイン?

イベント駆動型アーキテクチャの jQuery プラグインはありますか?

ステップ 1: 購読する

代替テキスト
サブスクライバーは途中でイベント ハンドラーにサブスクライブし、コールバック メソッドと、リッスンしているイベントの名前を渡します...

つまり、2 つの緑のサブスクライバーが p0 イベントをリッスンします。青のサブスクライバーは、p1 イベントをリッスンします。


ステップ 2: p0 イベントは、別のコンポーネントによってイベント ハンドラーに対して起動されます。

代替テキスト

  1. p0 イベントがイベント ハンドラーに対して発生します。
  2. イベント ハンドラーはサブスクライバーにイベントを通知し、ステップ 1: サブスクライブでサブスクライブしたときに指定したコールバック メソッドを呼び出します。

blue サブスクライバは p0 イベントをリッスンしていないため、通知されないことに注意してください。


ステップ 3: p1 イベントがコンポーネントからイベント ハンドラーに送信されます。

代替テキスト

p1 イベントは別のコンポーネントによって発生します

青色のサブスクライバーがコールバックを介してイベントを受信し、他の 2 つの緑色のサブスクライバーはイベントを受信しないことを除いて、前と同じです。

Flickrのleeand00による画像

見つけられないようですが、Javascript / jqueryで別の名前を付けているだけだと思います

また、このパターンに名前はありますか?これは単なる基本的なパブリッシャー/サブスクライバーではないため、別の名前を付ける必要があると思います。