合适的数据处理设计模式?

2024-09-28 01:25:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一个合适的设计模式来完成以下任务:

我想从一些“ComplexDataObject”(例如图像)中提取一些信息,并以更合适的格式保存相关信息,我们称之为 尼斯数据对象。在

通过几个步骤从ComplexDataObject中提取部分信息。一个步骤的输出可能需要作为下一步的输入。由于输出和输入可能是不同的类型,我不知道是否可以使用一些现有的模式,如“管道和过滤器”、“责任链”或类似的模式?在

下面这段“代码”希望能清楚地说明我想要实现的目标

NiceDataObject ProcessingMethod1(ComplexDataObject cdo) {
    InfoType1 infoPiece1 = extractInfoMethod1(cdo)
    InfoType2 infoPiece2 = extractInfoMethod2(cdo, infoPiece1)
    InfoType3 infoPiece3 = extractInfoMethod3(cdo, infoPiece2)
    InfoType4 infoPiece4 = extractInfoMethod4(cdo, infoPiece2, infoPiece3)
    NiceDataObject structuredInfo = PutItTogether(cdo, infoPiece1, infoPiece2,
                                                  infoPiece3, infoPiece4)
    return structuredInfo
}

为了使事情变得更复杂,理想情况下,我还能够以同样的方式处理另一个复杂的数据类型(比如另一个complexdataobject)来生成所需的NiceDataObject。在

^{pr2}$

这将允许我编写一个通用的API函数

NiceDataObject Process(SomeComplexDataObject cdo)

其中SomeComplexDataObject是ComplexDataObject和另一个ComplexDataObject的基类。在

如果可能的话,我想“注册”处理步骤方法(如上面的extractioninfomethod1,…,extractionmethod6)以获得灵活性,因为我希望能够窥视中间数据。在

如果重要的话,我使用Python,并使用上面类似C的“代码”来说明输入和输出通常是不同类型的。在


Tags: 数据代码信息类型模式步骤cdostructuredinfo

热门问题