Simple Event Driven design
Overview Developers often ask about the performance or efficiency of a system or their code. What does this really mean? My code is so efficient, only a coding god could understand how it works. My code is really clever but unmaintainable. The next developer will re-write it anyway. My code is really efficient for the machine, but inefficient for the developer. My code is really simple to understand which means the developer is more efficient, and the code is more than fast enough and easy to fix if not. So instead of asking yourself how fast you can make the code and how many clever tricks you can put into it, ask yourself; how simple can I make this and still be more than fast enough? Simple Event processing. For me, the simplest event processing is a method call which doesn't return anything. This is simple to translate into an asynchronous messaging transport e.g. public interface EventProcessor { void event(MyEventData data); ...