2013-10-08 125 views
2

我有一個從api獲取輸入的通用導入類。不同xml作家的設計模式

導入接受產品和類別並將它們寫入xml文件。麻煩的是XML文件結構不同的produtcs和類別2種方式:

  1. 的打開標籤的不同而有不同的命名空間
  2. 每個節點略有不同

會是一個什麼好的設計模式在這裏使用?

我目前有:

Importer 
XmlWriter 
    Product 
    Category 

還有什麼我應該考慮的嗎?

回答

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 { 
    ... 
}