{"image_url":null,"blog_url":"https://haru-s.hatenablog.com/","provider_name":"Hatena Blog","categories":["D\u8a00\u8a9e"],"height":"190","width":"100%","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fharu-s.hatenablog.com%2Fentry%2F20101103%2F1288776996\" title=\"Null object Pattern - ...ing logging 4.0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"...ing logging 4.0","published":"2010-11-03 18:36:36","author_name":"haru-s","version":"1.0","provider_url":"https://hatena.blog","description":"\u30e1\u30bd\u30c3\u30c9\u3092\u547c\u3076\u524d\u306bnull\u30c1\u30a7\u30c3\u30af\u3092\u547c\u3070\u306a\u304f\u3066\u3082\u3088\u304f\u3059\u308b\u30d1\u30bf\u30fc\u30f3\uff0e import std.stdio; // \u8ab0\u304b\u304c\u4f5c\u3063\u3066\u4e2d\u8eab\u3092\u5909\u3048\u3089\u308c\u306a\u3044\u30b3\u30fc\u30c9 //////// enum \u4e71\u6570 = 1; interface I { void m(); } class A : I { override void m(){ writeln(\"hi\"); } } I foo(){ if (\u4e71\u6570%2) return new A; else return null; } //////////////////////////////////////////////// class NullObject : I { o\u2026","url":"https://haru-s.hatenablog.com/entry/20101103/1288776996","author_url":"https://blog.hatena.ne.jp/haru-s/","title":"Null object Pattern"}