State_Transition

状態遷移について

ステートマシンパターン

概要

  • 各状態ごとのエンティティを作成
  • 状態A#to_b → 状態B という感じで、その状態が持つ実行によって次の状態に遷移する
    • 実行の結果次の状態のエンティティを得る
  • リポジトリは各状態ごとに用意する

メリット

  • 寿命が状態Aから状態Bの間になるため、ロジックが限定され、状態遷移の複雑さを減らせる
  • 状態遷移が限定的になるため、堅牢性が上がる

デメリット

  • 各状態ごとのリポジトリの実装が必要

参考

ステートソーシング