1

ジレンマがあります。次のいずれかを選択できます。

  • カスタム イベントの発行とそれらへの反応、
  • オブザーバー パターンの実装。

イベントはよりシンプルに見えますが、パフォーマンスはどうでしょうか? これら 2 つの手法のパフォーマンス テストについて知っていますか? とても役に立ちます。

//ところで

イベントのスコープを追加することは可能ですか?

4

1 に答える 1

1

イベンティングとオブザーバー パターンはどちらも、トリガーとリアクションという同じプリンシパルを共有しています。Java には関数ポインターがないため、オブジェクトを使用して関数をラップし、イベントがトリガーされたときに通知します。これがオブザーバーパターンです。

JavaScript は関数ポインタをサポートしています。したがって、オブジェクトの「ラッパー」を削除して、イベント ハンドラーのリストをそのままの形式 (関数) で保持できます。

オブザーバー パターンまたは Node.JS イベント エミッターに関するパフォーマンス テストを知りません。しかし、メモリに関しては、物事を小さくしておくとパフォーマンスが向上します。さらに、イベントがトリガーされた場合、イベント処理ではメンバー アクセサー (つまり、ドット) を使用する必要はありません。これにより、パフォーマンスもいくらか節約できます。

于 2012-11-29T06:17:21.533 に答える