我有一個Java的數據結構,我通過不同的方法填充。一種方法從API填充它,另一種方法從解析一些HTML填充它,另一種方法填充它不同的方式,等等。基本上,每種數據源的方法可以填充它。我想知道的是,Java中有哪些設計模式可用於此?對這個問題最好的/最乾淨的面向對象方法是什麼?數據結構的設計模式及其填充方法?
例如,
public class Data {
private String foo;
private List<String> bar;
private Map<String, Integer> baz;
public Data (String foo, List<String> bar, Map<String, Integer baz) {
this.foo = foo;
this.bar = bar;
this.baz = baz;
}
// Setters and Getters here, etc
}
public class FacebookParser {
private Document dom;
public static Data parse(Document dom) {
// Parse document
// Create Data object
return Data;
}
}
public class TwitterParser {
private Document dom;
public static Data parse(Document dom) {
// Parse Twitter
Data d = new Data(stuff from twitter);
return d;
}
}
生成器模式是理想的。看看http://stackoverflow.com/questions/34726422/passing-properties-to-factory-method/34752184#34752184 –