Java読書会「Practical Design Patterns for Java Developers」(第3回)の予習
10月22日(日)は、Java読書会BOF 主催のJava読書会「Practical Design Patterns for Java Developers」を読む会(第3回)が開催されます。
今回は、第3章 生成に関するデザインパターン(Working with Creational Design Patterns)から読み始めます。 本書では生成に関するデザインパターンとして次が解説されています。
- ファクトリメソッド・パターン
- アブストラクトファクトリー・パターン
- ビルダー・パターン
- プロトタイプ・パターン
- シングルトン・パターン
- オブジェクトプール・パターン
- 遅延初期化(lazy initialization)・パターン
- 依存性注入(dependency injection・パターン
半数強が古典 GoF本に記載のものです。実装例としてJavaの新機能の利用としては、
- switch式
- record型
- テキストブロック(パターンの実装ではなく、エラー時やprintlnでの文字列生成に使用)
シングルトンでは、マルチスレッド時の対策としてenumを使った実装例も紹介していました。
第3章が38ページなので、第4章 構造に関するデザインパターン(Applying Structural Design Patterns)も読み進める予定です。ここはボリュームが多いので途中までとなりますが、Java読書会の1回あたりの平均ページ数60ページから、第4章の最初の20ページほどに書かれてる次のパターンが今回の対象になると想定します。
- アダプター・パターン
- ブリッジ・パターン
- コンポジット・パターン
- デコレーター・パターン
- ファサード・パターン
- フィルター・パターン
- フライウェイト・パターン
ざっと目を通した限り、前章と同じくswitch式、record型が登場していた他は、最新Java機能は登場していないようです。 ラムダ式を使った実装が見かけましたが、ラムダ式はJava SE 8で導入されたので今更新しい機能とは言えないですね。
次回の読書会も、機械翻訳で読み進める予定なので、英語の敷居はほとんどないかと思います。 前回までは、JVMのディープなところ、Javaの新しい機能の解説で読むのが大変でしたが、今回は図とコード例も多く、比較的順調に進むと思います。