StoryEdit 開発日誌

ウェブアプリ StoryEditを作ってましたが延期。普通のブログ。

NullObjectパターン

ヌルポが嫌いなので、よく使うオブジェクトにはNullObjectを実装する。

class Hoge {
  /* fields */
  private static HogeNul hogenul = new HogeNul();
  public static Hoge getNull() { return hogenul; }
  public isNull() { this == hogenul ? true : false; }

  public void doSomthing() {
    /* do something */
  }
}

class HogeNul extends Hoge {
  @Override
  public void doSomething() {
    /* do nothing */
  }
}

さて、サンプル書いて思ったが, isNullはヌルオブジェクト側に実装すべきだった。orz
これでヌルポともおさらば〜。