Event Driven

Highly customizable event driven strategy

In One Line

Events without tears, signals without fears.

Package Info

display name

AceLand Event Driven

package name

com.aceland.eventdriven

latest version

1.0.20

namespace

AceLand.EventDriven.Bus
AceLand.EventDriven.EventSignal

dependencies

com.aceland.library: 1.0.20
com.aceland.taskutils: 1.0.7

There is two parts in this package:


Usage Patterns

Two Complementary Event Systems

The package provides two distinct event management approaches, each optimized for different architectural layers of your application.

Event Bus - System Architecture Level

Event Bus serves as a global service discovery and communication system, ideal for:

  • Core Systems Integration

  • Service Layer Communication

  • Cross-Module Operations

  • Global State Management

Best suited for foundational architecture where services need to communicate without direct references, maintaining loose coupling at the system level.

Signal - Component Level

Signals provide focused, object-based event management, perfect for:

  • UI Event Handling

  • Component Communication

  • Game Object Interactions

  • Feature-Specific Events

  • Local State Updates

Optimal for higher-level development where specific objects or features need their own event scope.


Choosing the Right Approach

Use Event Bus when:

  • You need system-wide service communication

  • Working with dependency injection patterns

  • Implementing service locator patterns

  • Building core architecture features

  • Managing global state changes

Use Signals when:

  • Handling UI interactions

  • Managing component-specific events

  • Implementing feature-specific messaging

  • Dealing with localized state changes

  • Building self-contained systems

While both systems can be used interchangeably, following these patterns will result in cleaner, more maintainable architecture.


Last updated