・デザインパターンを知らないA君とB君の場合
A「おいB、ここどうやって実装する?」
B「んー、のクラスのインスタンスは二つ以上あるとまずいから、コンストラクタをprivateにして外部からnew出来ないようにしよう。
んで唯一のインスタンスをstaticメソッドでgetするようにする。
こっちのクラスは、状況によって選択するアルゴリズムが変わると思うから、アルゴリズムごとに処理専用クラスを作って、それを所持するようにする。
処理はそのクラスに丸ごと委譲する。」
A「え〜っと、のクラスのインスタンスは二つ以上あるとまずいから、コンストラクタをprivateにして外部からnew出来ないようにして、
んで唯一のインスタンスをstaticメソッドでgetするようにする。
こっちのクラスは、状況によって選択するアルゴリズムが変わると思うから、アルゴリズムごとに処理専用クラスを作って、それを所持するようにする。
処理はそのクラスに丸ごと委譲するのはなぜ」
B「(゚Д゚)ハァ? 駄目だオマエ( ´,_ゝ`)プッ」

問題はBの態度と判明