boot
go-events
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
boot
- boot-go/boot: Configuration and dependency injection
- What's the best dependency injection framework / methodology for Golang for the enterprise?
-
Hooks: Simple, type-safe hook system for Go
Reminds me also to https://github.com/boot-go/boot, which supports Events and DI.
-
Adding a new implementation without having to touch an existing code - how?
Component Based Development lets you change (override) a defined component (with implementation). e.g. boot-go is supporting this.
- boot-go -- component-based development for golang
-
boot-go
boot-go accentuate component-based development (CBD).
go-events
-
Any major projects using generics?
For libraries I use at work, cmap has a v2 using generics. I think that's a fairly widely used library. The events library we use is updated, but not released. When I get a chance, planning on looking on moving to hooks, which does have released generics support.
-
Hooks: Simple, type-safe hook system for Go
Looks interesting. I was actually considering writing something like this, as we use https://github.com/kataras/go-events, which is similar, but doesn't have released generics support yet. I'll give this a try before trying to bake my own.
What are some alternatives?
dingo - Generated dependency injection containers in go (golang)
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]
broadcast - Notification broadcaster library
rabbus - A tiny wrapper over amqp exchanges and queues 🚌 ✨
hooks - Simple, type-safe hook system to enable easier modularization of your Go code.
gorush - A push notification server written in Go (Golang).
hooks-example - Example of a modular monolithic codebase in Go using hooks and dependency injection.
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
libkv - Distributed key/value store abstraction library
go-notify - Package notify provides an implementation of the Gnome DBus Notifications Specification.
dig - A reflection based dependency injection toolkit for Go.
dbus - Native Go bindings for D-Bus