イベントメカニズムを使用して、あるクラスから別のクラスへデータを渡す賛否両論は誰でも詳細に説明できますか?イベントを使用してデータを渡すのに最適な時期はいつですか?とりわけイベントをします使用はイベント処理を使用してデータを渡します
1
A
答えて
5
例を考えてみましょう。天気の変化のために、気象ステーションに20人が加入しているシステムがあります。あなたは気象ステーションが購読されているすべての人々とサービスを追跡してもらいたいですか?
私の意見では、気象局は天気の変化を待っている人やサービスについて何も知らないでください。気象ステーションはちょうどイベントを送信する必要があり、それを聞いている人は通知を受けます:-)
重要なのは、イベントを使用してオブザーバに、オブジェクトで発生したアクションまたは状態の変化を通知することです。オブザーバーは、オブジェクトについて何も知る必要がないため、異なるタイプのオブジェクトにすることができます。誰かがオブジェクトを聴くと、彼はそれを世話します。
1対1の関係で、何か起こるのを待っているオブジェクトが常に同じタイプの場合、その場合はイベントは必要ありません。
イベントは、上記の私の例で気象ステーションと同じように、システムのデカップリングにも最適です。気象ステーションは、それを聴いているサービスやユーザーについて知らなくても、単独で実行できます。
3
:
- は、イベントレシーバ
- からイベントソースをデカップルは
- 複数のイベントの受信機が同じイベントにサブスクライブすることを許可し、イベンティング を実装するためのよく知られたパターンを提供
デリゲートがコード内に予期しない "リーク"を作成する可能性があることの1つは、Memory Leak in C#です。
関連する問題
- 1. イベントを使用してデータをlaravel markdownに渡します。
- 2. Backbone.js - トリガを使用してイベントをトリガしてデータを渡す
- 3. Pygameを使用したブレイクアウトゲーム - 処理イベント
- 4. angular2を使用しています。動的イベントのリアルタイム処理
- 5. JavaScriptを使用して自分のイベントを作成して処理します。
- 6. Firefoxは関数を渡してもイベントを処理しません
- 7. AutoResetEventを使用してイベントを処理するのを待つ
- 8. winform webbrowserを使用してonbeforeunloadイベントを処理する方法
- 9. Electron + Vue(SPA)を使用してイベントを処理する方法
- 10. spaCyを使用してTwitterデータを処理できますか?
- 11. React-Redux:マップ処理内でのイベント処理の受け渡し
- 12. C# - データをJSに渡して処理するまで待つ
- 13. すべてのエンドポイントインスタンスは、サブスクライブしてイベントを処理します。
- 14. 機密データを処理して関数に渡す方法は?
- 15. AWSラムダ[JAVA]を使用してAWS S3イベントを処理しますか?
- 16. 未処理のTCPを使用してKaaイベントを送信
- 17. マルチスレッドを使用したデータ処理java
- 18. ハンドラはイベントを処理しません
- 19. UAPフライアウトは他のイベントをブロックして処理します
- 20. PowerShellでイベントを処理しますか?
- 21. ContentValuesを使用してBlobデータ型を処理する
- 22. マルチスレッドのExecutorフレームワークを使用してデータを処理する
- 23. スパークを使用して時系列データを処理する
- 24. バネを使用してJPAからデータをバッチ処理する
- 25. Python:Importerを使用してデータフレームインデックスでデータを処理する
- 26. json4sを使用してPOSTリクエストでJSONデータを処理する
- 27. Pythonでデータを前処理してクラスコンストラクタに渡す前に
- 28. SignalRを使用してモバイルデバイスで切断イベントを処理する方法は?
- 29. wpfでMVVMを使用してComboBoxのSelectionChangedイベントを処理する方法は?
- 30. Kueはイベントを正しく処理していませんか?
+1これは優れた説明です。気象局の類推はこれを説明する素晴らしい方法です。 –