Events decouple producers and listeners, but their dispatch guarantees differ. Subscription identity, exception behavior, and teardown are part of the contract.
Primary ownershipThe object that creates and fires the event
Readiness anchorProducer initialization and owning context
Version sensitivityVerify private names per client build
Event questions
- Where is the event object created?
- Where and in which order is it fired?
- What arguments are passed, and are they stable objects?
- Does dispatch iterate over a snapshot?
- Does one listener exception stop later listeners?
- When are listeners cleared?
Common event styles
| Style | Behavior to verify |
|---|---|
| Ordinary event | Duplicate handling, snapshot iteration and exception propagation |
| Safe event | Whether listener failures are logged and dispatch continues |
| Context event | Whether subscriptions are scoped to a current application or context |
| Event bus | Channel names, weak/strong references, ordering and owner teardown |
| View-model observer | Generated callback identity and model lifetime |
Read by topic
Choose a focused chapter. Complete examples and reference details are preserved on their topic pages.