ファーストクラスコレクション(コレクションオブジェクト)
定義
リスト・配列などのコレクションを生のまま使うのではなく、専用クラスでラップしてそのコレクションに関する業務ロジックをメソッドとして持たせるパターン。
なぜ重要か
- コレクションに対する業務操作(集計・フィルタリング・ソート)の置き場所が明確になる
- コレクションの不変条件(最小・最大件数など)をクラスに封じ込められる
- 「注文明細リスト」と「商品リスト」を同じ型として混同しなくなる
適用場面
- コレクションに対して業務上の計算・フィルタが必要な場面
- 同じfilterやmapが複数箇所に散らばり始めたとき
関連概念
- 値オブジェクト(コレクション版の値オブジェクトと考えられる)
- ドメインオブジェクトへの業務ロジック集約
出典
現場で役立つシステム設計の原則(増田亨)第2章