https://github.com/plugfox/eb_archive
Event Manager implementing an event-driven publish–subscribe pattern with singleton Event Bus.
https://github.com/plugfox/eb_archive
Last synced: 4 months ago
JSON representation
Event Manager implementing an event-driven publish–subscribe pattern with singleton Event Bus.
- Host: GitHub
- URL: https://github.com/plugfox/eb_archive
- Owner: PlugFox
- License: mit
- Created: 2020-04-28T02:40:29.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-08-16T00:57:00.000Z (over 5 years ago)
- Last Synced: 2025-02-19T02:49:13.798Z (about 1 year ago)
- Language: Dart
- Size: 109 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# EB
### About
Event Manager implementing an event-driven [publish–subscribe pattern](https://en.wikipedia.org/wiki/Publish-subscribe_pattern) with singleton Event Bus.
Inspired by message queue paradigm, message brokers.
Designed for easy application scaling.
---
### Example:
```dart
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([
(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();
}
```