ターゲット Objectsが部分的に同じ Objects を共有し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);