我有一个从 api 获取输入的通用导入类。
导入接收产品和类别并将它们写入 xml 文件。问题是 xml 文件的结构对于产品和类别有两种不同的方式:
- 开始标签不同,有不同的命名空间
- 每个节点略有不同
在这里使用什么好的设计模式?
我目前有:
Importer
XmlWriter
Product
Category
还有什么我应该考虑的吗?
我有一个从 api 获取输入的通用导入类。
导入接收产品和类别并将它们写入 xml 文件。问题是 xml 文件的结构对于产品和类别有两种不同的方式:
在这里使用什么好的设计模式?
我目前有:
Importer
XmlWriter
Product
Category
还有什么我应该考虑的吗?
在这种情况下,我只考虑将 StrategyPattern 与创建方法或工厂模式相结合。伪源码如下。
public class Importer {
private <T> XMLWriter getWriter(T entity){
// Returns an instance from ProductXMLWriter of CategoryXMLWriter
return Factory.createXmlWriter(entity);
}
public <T> String entityToXML(T entity){
return getWriter(entity).entityToString();
}
}
public interface XmlWriter<T extends Entity> {
public String entityToString();
}
public class ProductXmlWriter implements XmlWriter {
...
}
public class CategoryXmlWriter implements XmlWriter {
...
}