【发布时间】:2021-07-31 14:12:58
【问题描述】:
背景
我有一套工具\解决方案,可以组合成一个单一的数据处理\操作流。
我的流程中的每个单元都进行计算或执行操作。
示例:Solve equation -> send email
在本例中,Solve equation 单位是一种计算单位。而send email 单位是行动。
我有 100 个不同的单位可以按不同的顺序组合在一起。
问题
为了解决这个问题,我打算为我的应用程序创建一个数据流。每个流都会实现这个接口:
public interface IFlow
{
public IUnit[] UnitsChain{get;}
public void Start(string input);
}
虽然我的单位会实现这个接口:
public interface IUnit
{
public string /*output*/ Process(string input);
}
这个设计中的一切听起来都是可行的,但听起来像是我在“发明轮子”,而不是使用允许这些选项的现有解决方案。
寻找更好的解决方案来实现这种自定义管道处理。
谢谢!
【问题讨论】:
-
“为了解决这个问题,我打算为我的应用程序创建一个数据流。” - 你猜怎么着:微软已经这样做了! DataFlow
标签: c# architecture microservices pipeline system-design