在解析XML时,我对软件设计有些怀疑。通常,我将为XML中的每个有意义的标记创建一个类,然后从解析器中为其填充属性。
setElementListener(new ElementListener() {
@Override
public void start(Attributes attributes) {
Object obj = new Object();
obj.setAttribute(attributes.get("attName");
}
}
现在,我有一个包含许多不同对象的大型XML,因此我的XMLParser类不断增长,势不可挡。我们讨论过,可能在我们的对象类中创建一个静态方法,该方法将处理从属性创建对象。
public static Object inflate(Attributes attributes) {
Object result = new Object();
obj.setAttribute(attributes.get("attName");
return result;
}
哪种方式更好?
修改
第二个选项的主要问题是我不喜欢数据类知道属性是什么,它似乎不是一个好的设计。