補足: 2025/02/21 クラスベースでも、Stateパターンを適用し、StateをDiscriminated Unionとして表現することで今回の問題を解決できます。つまり、クラスを利用することに問題があるわけではありません。この記事では、TypeScriptではあえてクラスを利用しなくても状態遷移を表現できることを紹介します。記事を一部修正し、Stateパターンをクラスによって実現する方法を追記しています。 背景 サーバサイド実装での状態管理の重要性 サーバサイドのビジネスロジックでは、エンティティ(注文、決済、在庫、タクシー配車リクエストなど)が複数の状態を行き来しながら進行します。 たとえば、タクシー配車アプリでは、配車リクエストが「呼び出し(Waiting)」「迎車中(EnRoute)」「乗車中(InTrip)」「完了(Completed)」といった状態を経て処理が進み、キャ
