Curly.EventDriven.Immediate 1.0.1

Dead simple implementation of Curly.EventDriven.Abstractions. This EventBroker handles events immediately and synchronously, purely focused to keep your code compartmentalized.

Install-Package Curly.EventDriven.Immediate -Version 1.0.1
dotnet add package Curly.EventDriven.Immediate --version 1.0.1
<PackageReference Include="Curly.EventDriven.Immediate" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Curly.EventDriven.Immediate --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Curly.EventDriven.Immediate

Goal

Dead simple implementation of Curly.EventDriven.Abstractions. This EventBroker handles events immediately and synchronously, purely focused to keep your code compartmentalized.

Package content

  • ImmediateEvenBroker

Usage

  1. Create an IEvent.

    public class TheWorldWasGreetedEvent : IEvent
     {
     	public string Message { get; }
    
     	public TheWorldWasGreetedEvent(string message)
     	{
     		Message = message;
     	}
     }
    
  2. Implement an EventHandler which implements IHandle&lt;TEvent&gt;.

    public class WorldGreetingsEventHandler : IHandle<TheWorldWasGreetedEvent>
     {
     	public void Handle(TheWorldWasGreetedEvent @event)
     	{
     		Console.WriteLine($"The world was greeted with the following message: '{@event.Message}'");
     	}
     }
    
  3. Add the EventHandler and ImmediateEventBroker to your IServiceCollection.

    public void ConfigureServices(IServiceCollection services)
    {
        ...
        services.AddTransient<IHandle<TheWorldWasGreetedEvent>, WorldGreetingsEventHandler>();
        services.AddScoped<IEventBroker, ImmediateEventBroker>();
        ...
    }
    
  4. Publish your IEvent.

        public void GreetTheWorld()
     	{
     		Console.WriteLine("Hello world!!!");
     		_eventBroker.Publish(new TheWorldWasGreetedEvent("Hello world!!!"));
     	}
    

Example

Check out the Example described above: GitHub - Curly.EventDriven - HelloWorld example

Curly.EventDriven.Immediate

Goal

Dead simple implementation of Curly.EventDriven.Abstractions. This EventBroker handles events immediately and synchronously, purely focused to keep your code compartmentalized.

Package content

  • ImmediateEvenBroker

Usage

  1. Create an IEvent.

    public class TheWorldWasGreetedEvent : IEvent
     {
     	public string Message { get; }
    
     	public TheWorldWasGreetedEvent(string message)
     	{
     		Message = message;
     	}
     }
    
  2. Implement an EventHandler which implements IHandle&lt;TEvent&gt;.

    public class WorldGreetingsEventHandler : IHandle<TheWorldWasGreetedEvent>
     {
     	public void Handle(TheWorldWasGreetedEvent @event)
     	{
     		Console.WriteLine($"The world was greeted with the following message: '{@event.Message}'");
     	}
     }
    
  3. Add the EventHandler and ImmediateEventBroker to your IServiceCollection.

    public void ConfigureServices(IServiceCollection services)
    {
        ...
        services.AddTransient<IHandle<TheWorldWasGreetedEvent>, WorldGreetingsEventHandler>();
        services.AddScoped<IEventBroker, ImmediateEventBroker>();
        ...
    }
    
  4. Publish your IEvent.

        public void GreetTheWorld()
     	{
     		Console.WriteLine("Hello world!!!");
     		_eventBroker.Publish(new TheWorldWasGreetedEvent("Hello world!!!"));
     	}
    

Example

Check out the Example described above: GitHub - Curly.EventDriven - HelloWorld example

Release Notes

Initial implementation of a dead simple event broker which handles all events immediately and synchronously.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.1 95 4/4/2019
1.0.0 86 4/3/2019