デザインパターン

どこかで書いたかもしれませんが見つからなかったので書いてみよう。
デザインパターンJava言語で学ぶデザインパターン入門で勉強しました。この本は非常に読みやすくて分かりやすいです。なにやらパワーアップバージョンが出ているようですがまだ読んでいないです。



ただ実際に自分の書くコードで適用したのは一部のパターンに限ります。
今思いつく限りでは人に説明できるほど理解していて、Mona等で使用しているのは以下のパターン。

  • Iterator・・・よく使う。
  • Singleton・・・むかしのMonaのMemoryManagerとか。
  • Strategy・・・スケジューラとかのアルゴリズムを容易に変更できるように。(いまのMonaではない)
  • Observer・・・MonAPIライブラリに追加してReversiゲームで使用。
  • Template Method・・・どこかで使っていたけど忘れた。


本当のできる人は自分で書いているうちにパターンに気付く人。
次にできる人は大体のパターンを頭にインプットしていて設計時にそれを意識できる人。
そしてダメなのが勉強したけどうまく活用できていない人。。。orz
もう一度読み返そうかなぁ。


そういえばid:TakahiPoさんとデザインパターン論議をした記憶が!