Event Abstraction API for .NET

Project Description

An event abstraction framework for .NET written in C# using R2ML. The Framework helps decouple event handling and event declarations from the User Interface. It also handles Complex/Composite Events (such as mouse gestures or triple click) the same way as a primitive events. Complex Events are events that are made from many primitive events; an example would be double click (as it can be made from two click events). The project has Visual Studio plug-ins provided to complement the VS UI designer. This project is the result of a Masterate of Science entitled: "A Rule Based User Interface Builder for Visual Studio .NET". This project uses R2ML as a way of storing reaction rules that conform to the concepts of ECA rules. Reaction Rules are rules that are executed upon an event occurring.

If you strive for better Object Oriented software design then this framework will be of interest to you. It treats User Interfaces as a query-able item, and allows for the manipulation of events to suit a use case rather than the way the .NET framework prefers to handle events. The implementation currently is experimental however.

Update: 8 October 2008

I am considering an update for this project in the following areas:
1 Upgrade to VS 2008 (yet to upload but done).
2 Investigate WPF Routed Commands as a way of specifying rule contracts. Also investigate WPF Command Gestures
3 Refactor design & possibly implement Inversion of Control such as Ninjector & attempt to refactor with the strategy pattern in mind
4 Start proper unit testing strategy
5 Rethinking approach of implementation to address performance, better API design and think about minimizing code generation or make it optional, and think about View Model View/Model pattern implications and silverlight.


Concepts | Getting Started | Performance | Technologies Used | Credits

Last edited Oct 7, 2008 at 9:02 PM by rhwilburn, version 36