問題タブ [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 に答える
3702 参照

events - コルーチンvsイベント駆動型プログラミング

ウィキペディアの例について:http: //en.wikipedia.org/wiki/Coroutine

従来のイベントベースのアプローチでこの種の使用パターンを処理できるのではないかと思いますが、なぜコルーチンを使用する必要があるのでしょうか。

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

oracle - PL/SQLでのイベント駆動型プログラミング

2つのPL/SQLシステムがあり、2つの別々のデータベースにあります。SystemAはSystemBのテーブルにデータを入力する必要があります。これはおそらくデータリンクを介して行われます。レコードのセットがSystemBのテーブルに挿入されるたびに、SystemBのプロセスを実行する必要があります。SystemAが完了するのを待ってから、スクリプトを実行してSystemBでの処理を開始することもできますが、SystemAはSystemBの処理と入力に何時間も費やす可能性があるため、SystemBがレコードの各セットを利用可能になったらすぐに処理することをお勧めします(セットは他のものとは独立して処理できるので、これは問題なく機能するはずです)。

よくわからないのは、PL/SQLで偶数駆動型プログラミングを実行する方法です。セットを処理する準備ができたことをSystemBに通知するには、SystemAが必要です。私の最初のアイデアは、SystemBに特別な「イベント」テーブルを作成し、SystemAがセットを終了すると、「イベント」テーブルに挿入され、挿入時にプロセスを開始するトリガーがあります(プロセスは長いものになる可能性があります)。 、SystemBではおそらくプロセスごとに5〜10分)。これが確立された方法であるかどうか、またはより良いメカニズムがあるかどうかを知るために、Oracleでのトリガーに関する十分な経験がありません。提案?チップ?助言?

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

c++ - マルチスレッド イベントのディスパッチ

外部アドオン用の Lua スクリプトを使用する C++ アプリケーションを開発しています。アドオンは完全にイベント駆動型です。ハンドラは、スクリプトがロードされるときにホスト アプリケーションに登録され、イベントが発生するとホストがハンドラを呼び出します。

私がやりたいことは、各 Lua スクリプトを独自のスレッドで実行して、スクリプトがホスト アプリケーションをロックしないようにすることです。私の現在の意図は、Lua コードを実行するために新しいスレッドをスピンオフし、コードが完了するとスレッドが独自に終了できるようにすることです。マルチスレッドイベントディスパッチの形式として新しいスレッドをスピンオフすることの潜在的な落とし穴は何ですか?

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

android - UI イベント処理のベスト プラクティス

UI イベントのすべてのバインディング コードを OnCreate() に配置しました。それは私の OnCreate() を巨大にしました。

Android で UI イベントを実装する際のパターンはありますか? View xml ファイルにメソッドを追加して、すべてのハンドラー コードを別の場所に配置できますか。

一言で言えば、AndroidアプリコードでMVVMパターンを実装する方法を尋ねていると思いますか?

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

php - PHP のイベント駆動型アーキテクチャとフック

データ リポジトリと通信するための PHP バックエンドを備えたゲームに取り組むことを計画しています。私はそれについて考えていて、私たちのゲームが従うべき最良の設計パラダイムはイベント ドリブンであるという結論に達しました。私は達成システム (この Web サイトのバッジ システムに似ています) を探しています。基本的には、これらの「達成チェック」をゲームで発生するさまざまなイベントにフックできるようにしたいと考えています。すなわち:

ユーザーがアクション X フック Y を実行すると、アチーブメント要件をチェックするためにすべての添付関数が呼び出されます。

このようなアーキテクチャを構築することで、チェック機能を適切なフックに追加するだけで、他のすべてが適切に機能するため、新しい実績を簡単に追加できるようになります。

これが私がやろうとしていることの素晴らしい説明であるかどうかはわかりませんが、いずれにせよ、私は次のことを探しています:

  1. イベント駆動型アプリケーションのコーディング方法に関する参考資料
  2. PHP の関数に「フック」を配置する方法を示すコード スニペット
  3. ポイント 2 で述べた「フック」に関数をアタッチする方法を示すコード スニペット

2)と3)を達成する方法についていくつかのアイデアがありますが、この問題に精通した誰かがベストプラクティスに光を当ててくれることを望んでいました.

前もって感謝します!

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

asynchronous - node.js 非同期初期化の問題

XML-RPC を介してプログラムと通信する node.js モジュールを作成しています。このプログラムの API は、特定のバージョンの後に最近変更されました。このため、クライアントが作成されたとき ( )、プログラムにそのバージョンを ( XML-RPC を介してcreateClient) 尋ね、それに基づいて API 定義を作成したいと考えています。

これの問題点は、上記を非同期で行っているため、クライアントが実際に使用される前に作業が完了していない可能性があることです。言い換えると:

doSomething()API定義が設定されていないため失敗します.HTTP XML-RPC応答がプログラムから返されていないためだと思います.

これを改善するにはどのような方法がありますか? 変数に名前を付けて操作できるようにしたいのですがclient、後でメソッドを呼び出して情報を取得します (コールバックを介して返されます)。

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

java - Javaで「イベント駆動型」のバックグラウンドスレッドを作成するにはどうすればよいですか?

invokeLater()作業単位をAWTEDTに送信するためのシンプルさが気に入っています。バックグラウンドスレッド(SwingWorkerなど)に作業要求を送信するための同様のメカニズムがあると便利ですが、私が理解しているように、これらには、invokeLater()が依存するイベントキューイングおよびディスパッチメカニズムはありません。

その代わりに、他のスレッドがメッセージを送信するブロックキューをバックグラウンドスレッドに与えることになり、スレッドは基本的に受信ループを実行して、メッセージが到着するまでブロックします。

実際、これは、バックグラウンドスレッドでEDTのような動作を実装する方法とまったく同じである可能性があります(またはそうなるでしょうか?)。一方、私はスレッドが単に不活性にぶら下がっていて、空の目に見えないイベントディスパッチキューからディスパッチされたときに「ワークドロップレット」を処理するというシンプルさが好きです。Javaは、そのような「イベント駆動型ワーカースレッド」を作成する方法を提供しますか?それとも、結局のところ、メッセージキューはこれを行う正しい方法ですか?invokeLater()また、関連して、メッセージパッシングの手法には欠点がありますか?

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

php - n 層アーキテクチャに ACL/ACE を挿入するのに最適な場所 (および時間)

スケーラブルな Web アーキテクチャ、特にイベント ドリブン デザイン (同期ジョブと非同期ジョブ) で分離する必要があるすべてのプロセスを考えると、ACE を挿入するのに最適な場所 (および最適な時間) はどこにあるのだろうかと思います。

私の最初の「素朴な」動きは、関連するオブジェクトが作成されたのと同じサービス メソッドにそれらを挿入することです。

次のようになります。

しかし、それは正しい場所ですか?他のものは、同期的または非同期的に動作するイベント リスナー (オフライン キュー) で処理されるため、ACE で同じことをしないのはなぜですか?

通常、アプリケーションでは、すぐに実行する必要がある操作と、オフラインで実行できる (必要な) 操作 (キュー) を常に識別します。

セキュリティはどこにありますか?;-)

ありがとさよなら。

ベンジャミン。

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

event-driven-design - ネイティブテキスト編集アプリケーションで構文の強調表示を実装するにはどうすればよいですか?

私の経歴は独学のWeb開発者です。私は要求/応答サイクルに慣れています。ただし、イベント駆動型プログラミング(JavaScript、ネイティブアプリなど)にもっと関与するようになっています。シンタックスハイライトを備えたネイティブテキストエディタを(学習体験として)書きたいと思っていたのですが、シンタックスハイライトの実装方法に困惑していることに気づきました。私は、標準の構文強調表示ライブラリを使用することに慣れています。このライブラリでは、構文強調表示付きのHTMLバージョンが返されるテキストをライブラリに提供します。これは、通常のテキストエディタ/IDEの動作とは異なります。入力すると、エディターが入力しようとしている内容を認識するため、文字がそれに応じて強調表示されます。したがって、大まかな概要から、構文の強調表示をどのように実装するのでしょうか。