- URL: 複雑さを分解するためのドメインモデル
- 著者: 川島義隆 (@kawasima)
- 公開日: 2022-07-11
いつ読むか?
- イミュータブルモデルをオブジェクト指向言語で実践するリファレンス実装
読書メモ
問題
単一クラスで複数の状態を管理すると、状態チェックが増え、使わない状態変数を持つことになる。
解決策
状態ごとに異なるクラスを設計する(イミュータブルデータモデル)。
効果
- 適用可能な振る舞いしか定義されないため、メソッド呼び出し可否のチェックが不要
- コードの保守性と安全性が向上
使うべき場面
複雑な状態遷移を持つビジネスロジック(例:注文システムの状態管理)を設計するとき。