NULL)を設定したり、判定に使う手法があります。昔からC言語に慣れている人がよく使いますね。reference))を見たことがある人も少なくはないでしょう。Objectパターンはこの不具合の対策の一つとして有効です。Nullableパターン下記はNullを設定するパターン(Nullableパターン)の簡単なソースコードです。}}これだけなら大した事はありませんが、実際に_stateを使用する箇所が増えると、都度Nullチェックを書くことになります。プロジェクトが大きくなると、Nullチェックを忘れる事も。個人的にはC#やJavaなど、クラスの概念がある言語でNullPointerExceptionを発生させるのは設計ミスだと思っています。今まで経験したプロジェクトでは画面の表示部分で発生させるという何ともお粗末なものもありました。Not-nullableパターン以下はNullを使用しないパターン(Not-nullableパターン)のソースコードです。name;}_stateのNullチェックが無くなり、スッキリしたのが分かると思います。IsNull()メソッドは初期化状態かどうかを知る必要がある場合のみ使用します。StateBaseクラスを抽象クラスではなく通常クラスとし、それをNullStateクラスの変わりに使用することも可能です。その際は、各継承クラス毎にIsNull()のオーバーライドなどが必要になります。Objectパターンと言います。多態性についても知っておく必要がありますが、設計段階でNullPointerExceptionが潰せるのは、後の試験工数から見ても非常に有意義な設計パターンです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次の記事Stateパターン執筆者のことかもめ元フリーランスのSE、PG。忘れやすい性格のため備忘録として色々残していきます。