Skip to content

IldySilva/cmdr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cdmr(Commander )

cmdr is a Dart package that provides a lightweight implementation of the Mediator pattern tailored for Command Query Responsibility Segregation (CQRS) applications.

Installation Add cmdr to your pubspec.yaml file:

Installation

To use cmdr in your Dart project, add it to your pubspec.yaml file:

dependencies:
  cmdr: ^1.0.0

then run:

   dart pub get

Usage/Examples

Importing the package

import 'package:cmdr/cmdr.dart';

Creating a Mediator

var mediator = Mediator();

Registering Handlers

class MyCommandHandler CommandHandler<MyQuery,dynamic>  {
  Future<void> handle(MyCommand command) async {
    // Command handling logic
  }
}

class MyQueryHandler extends QueryHandler<MyQuery,dynamic> {
  Future<Result> handle(MyQuery query) async {
    // Query handling logic
  }
}

var commandHandler = MyCommandHandler();
var queryHandler = MyQueryHandler();

mediator.registerHandler(MyCommand, commandHandler);
mediator.registerHandler(MyQuery, queryHandler);

Sendind Requests

var command = MyCommand();
var query = MyQuery();

await mediator.send(command);
var result = await mediator.send(query);

API Reference

Mediator

Registers a handler for a specific type of command or query.

 void registerHandler(Type type, dynamic handler)

type: The type of command or query.

handler: The handler responsible for handling commands or queries of the specified type.

send

Sends a command or query to the registered handler.

Future<dynamic> send(dynamic request)

request: The command or query to be sent to the handler.

Examples

For more detailed examples, please refer to the example directory.

Contributing

If you encounter any issues or have suggestions for improvements, feel free to open an issue or submit a pull request in the GitHub repository.

License

MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages