consequences

  • modularity
  • configurability of event-driven software
  • decoupling application-independent mechanisms from application-specific processing policies
  • improves portability -- abstracts from OS
  • course grained concurrency control

disadvantages

  • handlers are not pre-empted
  • flow of control is event-driven
  • applications can be hard to debug

applications

  • (X) Windows, Interviews, hush
  • Orbacus Omnibroker

related patterns

  • Observer, Facade, Template Method