当目标对象时excelColumns
,pdfColumns
部分共享相同的对象,其中一些甚至有条件地共享,什么是一个好的 OOP 模式来避免函数式编程、紧密耦合和样板,如下面的代码?让我们假设,将有很多共享列,而只有少数非共享列和条件列。
List<Column> excelColumns = new ArrayList<>();
List<Column> pdfColumns = new ArrayList<>();
//shared columns
Column test = new Column("test", 121, 11);
excelColumns.add(test);
pdfColumns.add(test);
//conditional columns
if (condition) {
excelColumns.add(new Column("test2", 12, 21));
}
//non shared columns
pdfColumns.add(new Column("test3", 12, 41));
//shared columns
Column test4 = new Column("test4", 12, 331);
excelColumns.add(test4);
pdfColumns.add(test4);
Column test5 = new Column("test5", 72, 11);
excelColumns.add(test5);
pdfColumns.add(test5);
Column test6 = new Column("test6", 82, 121);
excelColumns.add(test6);
pdfColumns.add(test6);