~/labs/medix
medix
Pipeline davranışlarıyla hafif bir Mediator deseni uygulaması.
İstek/yanıt, bildirimler (pub/sub) ve pipeline davranışlarıyla Mediator deseninin Go uygulaması. Generics için Go 1.21 veya üstünü gerektirir.
Kurulum
go get github.com/oshturhq/medixÖzellikler
- İstek/yanıt: bir istek, bir handler; Send ile gönderilir
- Her istek için yeni bir handler örneği üreten factory desteği
- Bildirimler: bir bildirim, birden çok handler; Publish ile yayınlanır
- Her istek handler'ını saran, kayıt, süre ölçümü ya da doğrulama için pipeline davranışları
- Thread-safe kayıt; Send ve Publish eşzamanlı kullanıma uygundur
- Context iptaline uyar
Örnek
// Register handler
medix.RegisterRequestHandler[GetUserRequest, GetUserResponse](&GetUserHandler{})
// Send request
resp, err := medix.Send[GetUserRequest, GetUserResponse](context.Background(), GetUserRequest{ID: 1})