Event-based-programming is a coding style which components born with high cohesion and communicate to each other by sending messages through Events and Delegates. Their behavior doesn't take other logics into account, they just provide services to them through the use of Events and Delegates.
Event-based-programming is a coding style which makes different coarse and fine grained components to communicate to each other sending messages through Events and Delegates.
Components in event-based-programming has a high level of cohesion because such style "ignores" who is using them in high level thinking (or process). The only interest is to provide services by signaling messages.
Normally you'll find structure like 3 classes, which one class A coordinate the work of the class B and class C. Class B and C doesn't know nothing about each other and nothing about the class A, but class A orchestrates the work and message direction of both class B and class C. The only runtime and buildtime coupling happens on A, which may need the existence of B and C.
Ted Faison, has a fantastic work in the book Event-Based programming - Taking events to the Limits is one of the good source about that. This programming style has is easily found embody in frameworks like Windows Workflow foundation and kind of.
This programming style is more used by Seniors developers, with more then 7 years working software services.