0

这是我在这里的第一篇文章,最近我一直在使用带有 primefaces 的 JSF2.0。我们有在我们的应用程序中导出 PDF 的要求。最初我们使用 primefaces 默认的 dataexporter 标签。但格式简直太糟糕了。所以,我使用 itext 来生成 PDF。我们的应用程序中有多达 15 个数据表,所有这些都需要 PDF 导出。我创建了一个名为 generatePDF 的方法,它使用 Itext 为所有表创建 PDF。

 Interface PDFI {
 public void setColNames();
 public void setColValues();
 public void setContentHeader();

 }
Class DataEx  {
    public void generatePDF(ActionEvent event) {
        // generate pdf...
    }

}

考虑我在该数据表后面的视图数据表 A ... bean 中有一个数据表 A..

Class BeanA implements PDFI {
    //implemented methods

    }

} 
Class BeanB implements PDFI {
 //implemented methods

 }

在另一个数据表B后面,我做和上面一样的事情..所以,我的问题是,这被认为是重复代码吗?而且,这是做到这一点的有效方法吗?任何帮助表示赞赏。提前致谢

4

1 回答 1

0

我在重构重复代码之前使用的经验法则——当一个地方的部分代码有错误时——你是否需要将另一个更改为?因为你可能会忘记

在你的情况下,看起来你有重复的代码块。我会考虑将 require 参数添加到 generatePDF,这样它就可以在一个地方完成所有工作。

于 2012-05-01T09:11:11.767 回答