Frage zu Callback-Design

OP #5090813
Lesenswert?

Hallo zusammen,

mir ist klar: "1000 Wege führen nach Rom" bzw. zu einer Lösung in C.
Jedoch frage ich mich, was geschickter wäre.

Problem:
Ich habe ein (Software)-Modul, das mir Daten-Pakete versendet und 
empfängt. Nun stelle ich mir die Frage:
Erstelle ich nur einen Callback der mir als Parameter den Grund liefert, 
oder erstelle ich für jede Möglichkeit ein eigenen Callback, wobei im 
Fehlerfall wäre es ein ERR_Callback mit Parameter?

Somit würde im aufrufendem Modul entweder eine Funktion existieren die 
den Grund prüft oder halt für jeden Grund eine eigene Funktion.

Wie würdet ihr das lösen?
Oder was spricht für die eine oder andere Lösung?

Gruß
OP #5090829
Lesenswert?

Ja bis jetz bin ich auch den Weg gefahren:
1 Callback mit enum Parameter.

Und dann seh ich durch Zufall eine Lib. für CmdSend oder so (UART) in 
C++ vom Arduino (ich arbeite mit keinem Arduino, sondern mit einem 
SAM4E) in der mehrere Callbacks verwendet wurden.

Da hat sich mir die Frage gestellt, ob das evtl. einen Vorteil hat oder 
ähnliches.
(Firma: Torrox.de) #5091110
Lesenswert?

Adam P. schrieb:

> Da hat sich mir die Frage gestellt, ob das evtl. einen Vorteil hat oder
> ähnliches.

Überlege Dir, wie Du es als Nutzer Deiner API gerne hättest. Wenn im 
Erfolgsfall und im Fehlerfall komplett unterschiedliche Sachen 
passieren, dann könnten 2 callbacks praktisch sein. Wenn Du in 
unterschiedlichen Situationen, komplett unterschiedliche Parameter hast, 
die das eingetretene Ereignis beschreibt, dann wäre das auch ein Grund 
lieber mehr als einen Callback zu verwenden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren