浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

Null object patternによる未定義エラー防止

 存在しない場所を参照することはエラーの原因です。下図はそれぞれPHP、JavaScriptで未定義箇所を参照した時のエラーです。この手のエラーは時にプログラムが止まる致命的エラーになるので防ぐ必要があります。


 防ぎ方でよくあるパターンが、もし未定義か否かで条件文を用いるパターンです。


 この方法は稀に用いる程度ならば問題ないですが、ネストの深いオブジェクトでこの未定義問題を気にする必要がある時もあります。そのような時に用いられるコーディングのパターンのがNull object patternです。
Null object pattern – Wikipedia
 Null object patternはメソッド、プロパティの未定義によるエラーを防ぐために空のメソッド、null値のプロパティを用意します。もしそのメソッド、プロパティを参照しても未定義ではないので致命的にエラーにならないわけです。


 サンプルは簡単なコードなので実感はわかないでしょうが、対象が巨大になる程、抜けがある場所が増える程、参照する場所が増える程、便利なコーディングのパターンになります。

  • この記事いいね! (0)