ひらめの日常

日常のメモをつらつらと

『Java言語で学ぶデザインパターン入門』を読んだ

ずっと前から教養としてデザインパターンを勉強せなばと思っていてこの本を読みましたので、感想を残しておきます。

Javaは自分が最初に学んだ言語というのもあったし、基本的なインターフェースや抽象クラスあたりの知識があればよかったので、読み進めることができました。

4年前は「Bridgeパターン?何それ?」と思ってissueにメモったりしてたのですが、結局何も理解していませんでした...

4年越しに読んでみると、「機能クラスの階層」と「実装クラスの階層」を分けることのありがたみを理解することができました。やはりコードを書いていくうちに、拡張性などが課題となった経験を重ねて、実際に使う時のイメージが湧きやすくなったからだと思います。

GoFデザインパターンはもちろん、自分の知らなかった新しい単語についても学ぶことができました。

  • ダブルディスパッチ
  • intrinsic/extrinsic

今まで暗黙知的に実装していたパターンに名前がつくと、引き出しから取り出しやすくなるし、他の人とのコミュニケーションもスムーズにいきそうですね。

Scalaでのデザインパターンは、関数型プログラミングの影響も受けているので、以下の本を読んだりして別途勉強したいです。