Skip to content

PlugFox/eb_archive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EB

About

Event Manager implementing an event-driven publish–subscribe pattern with singleton Event Bus.
Inspired by message queue paradigm, message brokers.
Designed for easy application scaling.


Example:

import 'package:eb/eb.dart';

class A with Subscriber {
  A() {
    messages.forEach((Message e) => print('A gotcha $e')); 
  }
}
  
class B with Subscriber {}

class C with Publisher, Subscriber {}

class D with Publisher {}

void main() {
  // Supervisor for whole app and logs
  MessageBusSupervisor.addMessageCallbacks(<MessageMW>[
    (Message e) => print('Supervisor gotcha $e #1'),
    (Message e) => print('Supervisor gotcha $e #2'),
  ]);

  // Domains/Subsystems/Widgets
  A();
  B()..onMessage((Message e) => print('B gotcha $e'));
  C()..onMessage((Message e) => print('C gotcha $e'), topic: 'd')..emit(const Message('c'));
  D()..emit(const Message('d'));

  // Permanent bus destruction
  MessageBusSupervisor.kill();
}

About

Event Manager implementing an event-driven publish–subscribe pattern with singleton Event Bus.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages