2019.04.08C#GoFTweetStateパターンは状態を表現する際に用いることが多く、多態性(ポリモーフィズム(Polymorphism))と言います。多態性はオブジェクト指向言語でコーディングする上で非常に便利な設計手法です。状態を管理するのに、よく見かける方法がこちら。下記サンプルソースでは職業を状態として用いています。※「値をemunなどで定義していない!」などはここでは無視して下さい。}}この場合、メソッドで状態(職業)毎の処理が増えるほど、条件文を記述しなければなりません。ここで登場するのが多態性です。ポピュラーなのですが、技術者のレベルが低い環境だと前述の様な条件分岐ばかりなんですよね。_job.ToNext();}多態性使用後では使用クラスがスッキリとした記述になりました!「でも、各状態クラスを沢山書かないと駄目だし、結局面倒じゃん...」って思われるかもしれません。各状態クラスでは自分の処理だけ書けばいいので、実装もシンプルですし、単体試験が大幅に減るので最終的な工数はグっと減ります。1ファイルあたりや1メソッドあたりのライン数を減らせるため、可読性も上がります。言えば、状態毎に担当者を割り振ることも容易になります。後から状態を追加・削除するのも簡単です。コメントをキャンセルメールアドレスが公開されることはありません。Objectパターン次の記事Bridgeパターン執筆者のことかもめ元フリーランスのSE、PG。忘れやすい性格のため備忘録として色々残していきます。