Java 不同xml编写器的设计模式

Java 不同xml编写器的设计模式,java,design-patterns,Java,Design Patterns,我有一个从api获取输入的通用导入类 导入接受产品和类别并将其写入xml文件。问题在于,对于产品和类别,xml文件的结构有两种不同: 开始标记不同,并且具有不同的名称空间 每个节点略有不同 在这里使用什么样的设计模式比较好 我目前有: Importer XmlWriter Product Category 这里还有什么我应该考虑的吗?在这种情况下,我只想到与创造性方法或工厂模式相结合的战略模式。下面是伪源代码 public class Importer { priva

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

导入接受产品和类别并将其写入xml文件。问题在于,对于产品和类别,xml文件的结构有两种不同:

  • 开始标记不同,并且具有不同的名称空间
  • 每个节点略有不同
  • 在这里使用什么样的设计模式比较好

    我目前有:

    Importer
    XmlWriter
        Product
        Category
    

    这里还有什么我应该考虑的吗?

    在这种情况下,我只想到与创造性方法或工厂模式相结合的战略模式。下面是伪源代码

    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 {
        ...
    }
    
    公共类导入器{
    私有XMLWriter getWriter(T实体){
    //从CategoryXMLWriter的ProductXMLWriter返回实例
    返回Factory.createXmlWriter(实体);
    }
    公共字符串entityToXML(T实体){
    返回getWriter(entity.entityToString();
    }
    }
    公共接口XmlWriter{
    公共字符串entityToString();
    }
    公共类ProductXmlWriter实现XmlWriter{
    ...
    }
    公共类CategoryXmlWriter实现了XmlWriter{
    ...
    }