İçeriğe geç

~/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})