marcojakob / dart-event-bus

An Event Bus using Dart Streams for decoupling applications
MIT License
755 stars 82 forks source link

EventBus should accept any Dart object #11

Closed marcojakob closed 10 years ago

marcojakob commented 10 years ago

We should simplify the EventBus API so that it will accept any Dart object.

At the moment we need to create EventTypes for every type of event we want to fire. By allowing every Dart object to be an Event we would not need to define EventTypes and could get rid of the EventType class alltogether.

An Example

Define an arbitrary class to be used as event:

class UserLoggedInEvent {
  User user;
  UserLoggedInEvent(this.user);
}

Register listeners:

eventBus.on(UserLoggedInEvent).listen((UserLoggedInEvent event) {
  print(event.user);
});

Fire events:

User myUser = new User('Mickey');
eventBus.fire(new UserLoggedInEvent(myUser));

Advantages

marcojakob commented 10 years ago

Available in v0.3.0 (6878d3d)