在步骤之间进行数据传输的逐步模式

时间:2018-09-30 07:00:14

标签: c# design-patterns

我编写了一个简单的应用程序,其中包含几个步骤。每个步骤均采用其指定的输入数据并产生其指定的输出。我尝试基于管道模式来实现这种模式。有一些共同的部分: 每个步骤必须实现的界面:

interface IStep
{
    Data Execute(Data data);
}

必须由处理步骤的类实现的接口:

interface IProcess
{
    void AddStep(IStep step);
    void Run();
}
class Process: IProcess
{
    private List<IStep> steps = new List<IStep>();

    public void AddStep(IStep step)
    {
        steps.Add(step);
    }

    public void Run()
    {
        var data = new Data();
        foreach(step in steps)
        {
            data = step.Ececute(data);
        }
    }
}

数据类的实现是下一个:

public class Data: Dictionary<string, object> {}

这是一个问题。我必须存储数据的关键常量,并在每个步骤的开始阶段提取步骤所需的值。有没有更优雅的方法来实现这种方法?

0 个答案:

没有答案