【问题标题】:Design pattern for different xml writers不同 xml 编写器的设计模式
【发布时间】:2013-10-08 21:52:46
【问题描述】:

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

导入会引入产品和类别并将它们写入 xml 文件。问题是 xml 文件的结构因产品和类别而异,有两种方式:

  1. 开始标签不同,有不同的命名空间
  2. 每个节点略有不同

在这里使用什么好的设计模式?

我目前有:

Importer
XmlWriter
    Product
    Category

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

【问题讨论】:

    标签: java design-patterns


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-30
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 2015-09-15
      • 2019-10-02
      • 2017-01-03
      • 1970-01-01
      相关资源
      最近更新 更多