我有一个要求,我需要以给定的格式输出数据(可以是任何 xml、json、doc、csv、xls、签名的 xml)等。之后我需要将它包装成给定的格式(zip、gzip、驾驶室等)。什么是好的设计模式?
答案 0 :(得分:0)
对于格式化输出数据和包装数据,我建议使用 strategy pattern。你可以有一个像 DataFormatterInterface
这样的接口和像 XmlDataFormatter
等的实现。同样的,在你将有一个 DataWrapperInterface
和 ZipDataWrapper
的地方包装起来。
然后,由于您将始终使用相同的两个步骤,如果您需要进一步抽象它,您可以尝试使用 template method 模式。这将允许您编写 DataExporterInterface
之类的接口和 GzippedCsvExporter