>>912
もう一つ、良く引き合いに出されるのはキャッシュ処理とか遅延生成かな。

class Foo
{
  bool initialized;
  void init();
public:
  void method1()
  {
    if (!initialized)  // これを書くメソッドごとに全部書くのはダサい
      init();      //
    real_method1();
  }
};