ジレンマがあります。次のいずれかを選択できます。
- カスタム イベントの発行とそれらへの反応、
- オブザーバー パターンの実装。
イベントはよりシンプルに見えますが、パフォーマンスはどうでしょうか? これら 2 つの手法のパフォーマンス テストについて知っていますか? とても役に立ちます。
//ところで
イベントのスコープを追加することは可能ですか?
ジレンマがあります。次のいずれかを選択できます。
イベントはよりシンプルに見えますが、パフォーマンスはどうでしょうか? これら 2 つの手法のパフォーマンス テストについて知っていますか? とても役に立ちます。
//ところで
イベントのスコープを追加することは可能ですか?
イベンティングとオブザーバー パターンはどちらも、トリガーとリアクションという同じプリンシパルを共有しています。Java には関数ポインターがないため、オブジェクトを使用して関数をラップし、イベントがトリガーされたときに通知します。これがオブザーバーパターンです。
JavaScript は関数ポインタをサポートしています。したがって、オブジェクトの「ラッパー」を削除して、イベント ハンドラーのリストをそのままの形式 (関数) で保持できます。
オブザーバー パターンまたは Node.JS イベント エミッターに関するパフォーマンス テストを知りません。しかし、メモリに関しては、物事を小さくしておくとパフォーマンスが向上します。さらに、イベントがトリガーされた場合、イベント処理ではメンバー アクセサー (つまり、ドット) を使用する必要はありません。これにより、パフォーマンスもいくらか節約できます。