Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 不同格式的设计模式_Design Patterns - Fatal编程技术网

Design patterns 不同格式的设计模式

Design patterns 不同格式的设计模式,design-patterns,Design Patterns,我有一个要求,我需要以给定的格式输出数据(可以是任何xml、json、doc、csv、xls、签名xml)等。之后,我需要以给定的格式(zip、gzip、cab等)包装数据。什么样的设计模式适合它?对于格式化输出数据和包装数据,我建议使用。您可以有一个像DataFormatterInterface这样的接口,它的实现像XmlDataFormatter等。包装时也可以有一个datawrapper接口,具体化为ZipDataWrapper 然后,由于您将始终使用相同的两个步骤,如果需要进一步抽象,您

我有一个要求,我需要以给定的格式输出数据(可以是任何xml、json、doc、csv、xls、签名xml)等。之后,我需要以给定的格式(zip、gzip、cab等)包装数据。什么样的设计模式适合它?

对于格式化输出数据和包装数据,我建议使用。您可以有一个像
DataFormatterInterface
这样的接口,它的实现像
XmlDataFormatter
等。包装时也可以有一个
datawrapper接口
,具体化为
ZipDataWrapper

然后,由于您将始终使用相同的两个步骤,如果需要进一步抽象,您可以尝试使用该模式。这将允许您编写类似
DataExporterInterface
的接口和类似
GzippedCsvExporter