When it comes to the Observer pattern, there are a number of related, overlapping terms used by different codebases. Off the top of my head:
- Observer/Observable/Subject
- Listener/Listenable
- Event/Event source/Event sink/Event handler
- Hook/Callback
- Subscriber/Subscribable
- "Firing" vs. "Triggering" vs "Notifying" vs "Executing"
Which of these do consider to be synonymous?
Of terms that are synonymous, which do you prefer to use in your programs?
Of terms that are not synonymous, what semantic differences do the different terms imply to you?
Curious if subscriber/subscribable fits here as well?