【发布时间】:2020-10-31 09:50:25
【问题描述】:
当目标对象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);
【问题讨论】:
标签: java functional-programming boilerplate tightly-coupled-code