如果没有并发,我应该使用TPL Dataflow来对抗复杂性吗?

时间:2016-06-20 10:27:41

标签: c# tpl-dataflow

我有一个项目,它具有语义上的工作流程块。该解决方案不涉及任何并发或CPU绑定操作,也不需要可伸缩性。我只有一个输入,它被处理并通过块的管道线。每个块处理该项目并做出决定并将其传递给下一个块。为了对抗复杂性,是否可以使用TPL Dataflow,或者由于没有并发性而且我应该使用常规的OOP策略,它会是一种矫枉过正吗?换句话说,TPL DataFlow是这项工作的正确工具吗?

1 个答案:

答案 0 :(得分:2)

DataFlow正是您不需要的因素("The solution does not involve any concurrency or CPU bound operations nor scalability is required")。

一系列方法有什么问题?

var input = ...;
var result1 = F1(input);
var result2 = F2(result1);
var result3 = F3(result2);
return result3;

您所描述的内容非常简单,我认为无需再做任何其他事情。特别是目前尚不清楚(可能)OOP是匹配的。您尚未描述对象或数据。您已经描述了一个映射到代码而不是对象的过程。