如果没有并发,我是否应该使用 TPL Dataflow 来对抗复杂性?
Should I use TPL Dataflow to fight against complexity if there is no concurrency?
我有一个项目在语义上具有工作流块。该解决方案不涉及任何并发或 CPU 绑定操作,也不需要可扩展性。我只有一个输入,它被处理并通过块管道传递。每个块处理项目并做出决定并将其传递给下一个块。为了对抗复杂性,是否可以使用 TPL 数据流,或者因为没有并发性而我应该使用常规的 OOP 策略,这会不会有点矫枉过正?换句话说,TPL DataFlow 是适合这项工作的工具吗?
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 是否匹配。您没有描述对象或数据。您描述了一个映射到代码而非对象的过程。
我有一个项目在语义上具有工作流块。该解决方案不涉及任何并发或 CPU 绑定操作,也不需要可扩展性。我只有一个输入,它被处理并通过块管道传递。每个块处理项目并做出决定并将其传递给下一个块。为了对抗复杂性,是否可以使用 TPL 数据流,或者因为没有并发性而我应该使用常规的 OOP 策略,这会不会有点矫枉过正?换句话说,TPL DataFlow 是适合这项工作的工具吗?
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 是否匹配。您没有描述对象或数据。您描述了一个映射到代码而非对象的过程。