不同xml编写器的设计模式

时间:2013-10-08 21:52:46

标签: java design-patterns

我有一个通用的导入类,它从api获取输入。

导入包含产品和类别,并将它们写入xml文件。问题是xml文件的结构有两种不同的产品和类别:

  1. 开头标记不同,名称空间不同
  2. 每个节点略有不同
  3. 在这里使用什么样的好设计模式?

    我目前有:

    Importer
    XmlWriter
        Product
        Category
    

    我还有什么别的想法吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我只想到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 {
    ...
}