ref. [2004-04-24-1]
学生に説明して、ふんふんと思ってもらえるような、いい例ないかなぁ。InputStream 関係で、FileInputStream とか、SocketInputStream とか、BufferedInputStream とかで、説明してもわかってくれそうにないしなぁ。
着メロをクラスとして見るのはどうかなぁ。でも、一つのクラスで事足りそうだし、別のクラスにしても、単なる abstract クラスで事足りるような気がするなぁ。
ゲームのハードと、ソフトとかはどうだろう。んー、ハード側がソフトに「ゲーム開始」というメッセージを送っておしまいのような気もするなぁ。
アクションゲームやシューティングの敵は結構良さげ。

みたいな感じで、think が template メソッド。Enemy のサブクラスで、実際の攻撃や移動を実装する。もちろん、サブクラスによって、攻撃方法や移動方法は違う。
他にないかなぁ。
使う時はほとんど直感的に使うんだけど、いざ、このパターンに当てはまるものと考えると難しいなぁ。