
  
|
 |
Hardcover Publisher: Apress Languages like C#, VB .NET, and Delphi include built-in support for events, and these events become very powerful when they connect the objects and components of a system. Events make it possible for such parts to interact without any coupling. And the resulting parts can be developed and tested individuallywhich keeps the code clean and simple. Component-based development (CBD) is an extension of object-oriented programming. CBD does away with the language and vendor-specific limitations of OOP, and makes software reuse more practical and accelerates the development process. Event-based programming is the next logical step in CBD, and makes components more reusable due to their decoupled nature. But event-based systems are easier to develop, which means theyre cheaper and more reliable than traditional OOP or CBD systems. This book teaches you how to develop software based on parts that interact primarily through an event mechanism. Youll learn how to use events in many different situations, to solve recurring development problems without coupling. The book introduces Signal Wiring Diagram, a novel form of software diagram similar to the circuit diagrams used by hardware designers. The book concludes with a series of case studies, incorporating all featured concepts. In a nutshell, youll want to pick up a copy of this book because it - Provides source code in both C# and VB .NET
- Shows how to use an event-based paradigm to reduce or completely eliminate coupling between classes and components
- Describes components, including coordinators, workers, builders, binders, and routers
- Contains three complete case studies that model concepts being used to design small, medium, and large systems
| Customer Reviews: |
|
| |
| Good book but the world has changed a bit |
| Customer Rating: 3 out of 5 |
 |
|
I must say, I wish I had this book 2 years ago. It is a great book and well written, but the book suffers from time, and the rest of the world of messaging and event based programing advancing quickly with the addition of Service based Architecture, Enterprise Service Bus Systems, and Complex Event processing.
My view point may be specific, as I am an Computer Architect by profession, and have Managed Message Based Systems from multiple vendors, and currently working with Complex Event programming, using one of the best tools in the Market today.
What the book does give is excellent historical view on Event Based Development. The examples are also pretty good. My background is java, but as an old VB programmer, the vb.net and C# examples where not difficult for me to translate and understand.
Even with the book being geared toward .NET platform it gives a decent view of the whole world of Enterprise messaging including JMS Implementations, and Tibco based solutions.
Where the book falls short for me, is that the whole methodology of Event Based Programming has changed with the introduction of Complex Event programming, which includes the introduction to Rules Based Systems, the programming model has changed. I suppose in 2006 this was much more timely, but now things have progressed. Also some approaches to testing these types of solutions would be very helpful.
In the books defense, the book has the best chapter in the patterns of Event Based Programming with the Chapter Labeled, Event Based Interaction Patterns. Unfortunately, for me this chapters follows the worst 2 chapter of the mechanics of Event Firing and Signal Wiring Diagrams. I am not interested in using Semaphores as my means synchronizing or message coordination, or Wire Diagrams for circuits.
Overall, I think it is truly time for a new book on Complex Event Programming written with today's methodologies in mind. I would volunteer :).
|
| Fantastic book on event based systems! |
| Customer Rating: 5 out of 5 |
 |
|
I have been programming event/message based systems for 25 years and never found a good book on this technique/methodology like this one. Ted does a great job at laying the foundation with a bit of theory (but not maths! So don't be afraid!) and then diving into practice. The text is clear, the diagrams are really good. He also reviews the different types of diagrams: UML state machine, sequence, activity, communication, component wiring diagrams as well as lollipop, SDL, catalysis and espresso diagrams. I was really interested in the chapter on Signal Wiring diagrams, even with my hardware engineering background I didn't know of their use in software engineering. He then quickly reviews a few patterns related to the subject and then dedicates a full chapter on functional roles in a more practical down to the code approach. He finishes the book with 3 case studies that will help understanding the ins and outs of event based programming.
Although the example code is supplied in two Microsoft languages (C# and VB Visual Basic) and being a Java person myself, the code is easy to understand and helps a lot.
I highly recommend this book and hope that a lot of developers will take on "Event-Based Programming". I do thank the author for the tremendous effort to put together such a good book, with a good balance between theory and practice.
In one word: "Bravo!"
|
| A great reference on event based application design |
| Customer Rating: 4 out of 5 |
 |
|
This is the second book I have read from this author and as before I found the book very helpful. The book deals with designing applications more the way electrical engineers have been working all along, design each component as independent as possible(decoupled) and at the end hook them up in a way that it gives you the output you want. The book will be specially very helpful to the developers who desing and develop enterprise applications.
|
| new way of system architecture |
| Customer Rating: 4 out of 5 |
 |
|
This book describes a new way of software system architecture to minimize coupling and increase testability; from the smallest to the largest systems. In an EB system, each part can be developed almost like a separate project, with events hooking everything together at runtime.
|
|