Although languages like C# ,VB.NET and Delphi have built-in support for events, few programmers realize how powerful events can be, when leveraged to connect ALL of the major parts (objects and components) of a system together. Events make it possible for the parts to interact without any coupling. The resulting parts can be developed and tested individually, keeping the code clean and simple.
Component-based development (CBD) is the logical extension of object-oriented programming. CBD does away with the language and vendor-specific limitations of OOP, making software reuse much more practical and accelerating the development process.
Event-based programming is the next logical step in component-based development, making components more reusable due to their decoupled nature. Event-based systems are easier to develop, making them cheaper and more reliable than traditional OOP or CBD systems. This book shows how to develop software based on parts that interact primarily through an event mechanism. The book shows how to use events in all sorts of situations, to solve recurring development problems without incurring coupling. A novel form of software diagram is introduced, called Signal Wiring Diagram. These diagrams are similar to the circuit diagrams used by hardware designers. A series of case studies concludes the book, bringing all the next concepts introduced together.
The full source code is available, in both C# and VB.NET.