Ich habe ein Projekt, das Blöcke eines Workflows semantisch hat. Die Lösung beinhaltet keine Nebenläufigkeit oder CPU-gebundene Operationen, noch ist Skalierbarkeit erforderlich. Ich habe nur eine Eingabe und es wird verarbeitet und durch die Rohrleitung von Blöcken geleitet. Jeder Block verarbeitet den Gegenstand und trifft eine Entscheidung und übergibt sie an den nächsten Block. Um gegen die Komplexität anzukämpfen, ist es in Ordnung, TPL Dataflow zu verwenden, oder wäre es ein Overkill, da es keine Nebenläufigkeit gibt und ich regelmäßige OOP-Taktiken verwenden sollte? Mit anderen Worten, ist TPL DataFlow das richtige Werkzeug für diesen Job?Soll ich TPL Dataflow verwenden, um gegen Komplexität zu kämpfen, wenn es keine Parallelität gibt?
Q
Soll ich TPL Dataflow verwenden, um gegen Komplexität zu kämpfen, wenn es keine Parallelität gibt?
1
A
Antwort
2
DataFlow ist genau für die Faktoren, die Sie nicht benötigen ("The solution does not involve any concurrency or CPU bound operations nor scalability is required"
).
Was ist los mit einer Kette von Methoden?
var input = ...;
var result1 = F1(input);
var result2 = F2(result1);
var result3 = F3(result2);
return result3;
Was Sie beschrieben haben, ist so einfach, dass ich keine Notwendigkeit sehe, mehr zu tun. Insbesondere ist unklar (noch möglich), dass OOP eine Übereinstimmung ist. Sie haben keine Objekte oder Daten beschrieben. Sie haben einen Prozess beschrieben, der auf Code und nicht auf Objekte verweist.
Sie haben Recht. Ich habe die Angewohnheit, manchmal Dinge zu überdenken. Benötigte eine zweite Meinung. Vielen Dank. –
War es 'F2 (result1)' und 'F3 (result2)'? – svick
@svick ja, aber wen interessiert das ... – usr