Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/robertpenner/as3-signals

Signals is a new approach for AS3 events, inspired by C# events and signals/slots in Qt.
https://github.com/robertpenner/as3-signals

Last synced: 25 days ago
JSON representation

Signals is a new approach for AS3 events, inspired by C# events and signals/slots in Qt.

Awesome Lists containing this project

README

        

h1. Signals: Think Outside the Event.

*Signals* are light-weight, strongly-typed AS3 messaging tools.
Wire your application with better APIs and less boilerplate than AS3 Events.

h2. Concept

* A *Signal* is essentially a mini-dispatcher specific to one event, with its own array of listeners.
* A Signal gives an event a concrete membership in a class.
* Listeners subscribe to real objects, not to string-based channels.
* Event string constants are no longer needed.
* Signals are inspired by "C# events":http://en.wikipedia.org/wiki/C_Sharp_syntax#Events and "signals/slots":http://en.wikipedia.org/wiki/Signals_and_slots in Qt.

h2. Syntax

// with EventDispatcher

button.addEventListener(MouseEvent.CLICK, onClick);

// Signal equivalent; past tense is recommended
button.clicked.add(onClicked);

I am still looking for impressions, critiques and suggestions.
My email is robert _at_ robertpenner.com.
I'm "@robpenner on Twitter":http://twitter.com/robpenner.

h2. Background on AS3 Events

* "My Critique of AS3 Events - Part 1":http://flashblog.robertpenner.com/2009/08/my-critique-of-as3-events-part-1.html
* "AS3 Events - 7 things I've learned from community":http://flashblog.robertpenner.com/2009/09/as3-events-7-things-ive-learned-from.html
* "My Critique of AS3 Events - Part 2":http://flashblog.robertpenner.com/2009/09/my-critique-of-as3-events-part-2.html