私は、イベント駆動型(サブ)システムでのイベントディスパッチの一般的な仕組みと原則に頭を包み込もうとしています。
たとえば、Javascript、Flash(Actionscript 2および3)で何度も使用し、一度にPHPで簡単なイベントディスパッチシステムを作成したこともありますが、イベントバブリングやその伝播。
最初の質問:
イベントバブリングはイベント伝播の同義語ですか?
2番目の質問:
イベントが「バブル」するとき、これはイベントがオブジェクトの階層を「移動」することを意味すると理解して正しいですか?
3番目の最も重要な質問:
質問2の私の理解が正しい場合。これは、一般的に実装されるオブジェクトの階層をどのように「上に」移動するのですか?
一般に、親オブジェクトは同じイベントをその親に「再送信」することを意味しますか(ルートオブジェクトに到達するまで)。そしてそうならば; 階層内のこれらすべてのオブジェクトは、これらのイベントの子をリッスンする必要がありますか、または親オブジェクトが子オブジェクトイベントのリスナーとして自分自身を登録する必要がないイベントバブリングについての理解に重要な原則がありませんか?
いくつかの簡単な擬似コードを使用してこれらの基本原理を説明できるとしたら、ありがたいです。