「プログラマが知るべき97のこと」の70個目のエピソードは、シングルトンパターンに関する話です。シングルトンパターンはGoFのデザインパターンの中でも最もよく知られ、使われているパターンかと思います。その理由はシンプルであり、かつ強力で、かつ解りやすいからではないでしょうか?しかし、シングルトンパターンは簡単に使える反面で、陥りやすい弊害も多くあります。このエピソードではそのような弊害をいくつか紹介しています。特にユニットテストしにくくなるのが最大の欠点です。 例えば、アプリケーションの設定などを保持するオブジェクトはシングルトンパターンにしがちなオブジェクトです。アプリケーションの中で「1つしかない」と考えるのは自然なことでしょう。しかし、ユニットテストの時やデバッグ時などは、設定オブジェクトを差し替えたいと考えます。シングルトンであるが故に差し替えできないという状況を生んでしまいます。
![70-シングルトンパターンの誘惑に負けない - やさしいデスマーチ](https://cdn-ak-scissors.b.st-hatena.com/image/square/6d7249f077ecb4c64d9691f529a86b46107a2ba9/height=288;version=1;width=512/https%3A%2F%2Fimages-fe.ssl-images-amazon.com%2Fimages%2FI%2F511RPej0BNL._SL160_.jpg)