thesqua.re interview question

What is Event-driven programming and how it is different from other application design patterns, what do you think which design pattern will be the best to use when you are developing an e-commerce application?