• Stars
    star
    10
  • Rank 1,747,718 (Top 36 %)
  • Language
    Go
  • License
    MIT License
  • Created about 7 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CQRS Implementation for Golang language

CQRS Pattern for Go language License Go Report Card Travis-CI

Getting Started

Project distributed as open-source example and you can can copy and modify code snippet based on you need or requirements. Project contains following parts:

Create handler(s)

const ExampleEvent = "_EventExample"

type ExampleHandler1 struct {
}

func (h *ExampleHandler1) Event() string {

	return ExampleEvent
}
func (h *ExampleHandler1) Execute(... interface{}) error {

	fmt.Println("Run Execute...")

	return nil
}
func (h *ExampleHandler1) OnSubscribe() {
	fmt.Println("Run OnSubscribe...")
}
func (h *ExampleHandler1) OnUnsubscribe() {
	fmt.Println("Run OnUnsubscribe...")
}

Add handler into the Bus and send message

func main()  {

	eventBus := bus.New()

	h := &ExampleHandler1{}

	eventBus.Subscribe(h)

	eventBus.Publish(ExampleEvent, 1, 2, "Test Message", 4.5)

	defer eventBus.Unsubscribe(ExampleEvent)
}

Contributing

The project intended to use as a part of part of the project, but if you want to contribute, feel free to send pull requests!

Have problems, bugs, feature ideas? We are using the github issue tracker to manage them.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Valentyn Ponomarenko - Initial work - P-A-R-U-S

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • Hat tip to anyone who's code was used
  • Inspiration
  • etc