home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

日記/2010/07/03/"ソースコードリーディングから学ぶJavaの設計と実装"読書メモ

作成日: 2010-07-03 12:31:29   /   last updated at: 2010-07-03 12:32:08
カテゴリ: 読書 
ソースコードリーディングから学ぶ Javaの設計と実装 | WINGSプロジェクト 佐藤 匡剛, 山田 祥寛 |本 | 通販 | Amazon

購入してから4年近く、本棚で埃をかぶっていた本。・・・いままでごめんなさい、ようやく読み終えることが出来ました。読感についてはamazonのレビューと大差ないのでそちらを参照して下さい。
取りあげられているソフトウェアのバージョンは2006年当時のものです。しかし、本書はソフトウェアの使い方の説明ではなく、ソースコードで使われているデザインパターンやライブラリを活用した実装技法について書かれています。そうした技法はたかだか4年が経過したくらいで有用性が下がることはありません。2010年現在でも充分楽しめる内容になっています。

本書で取りあげられているソフトウェアと、そこで何を学べるかの対応表:

Jakarta Commons Logging 1.0.4
  • Adapterパターン
  • プロパティファイルとリフレクションによるクラス指定
Jakarta Commons Pool 1.3
  • Factoryクラスの使い方
  • オブジェクトプーリングの実装例
JUnit 3.8.2
  • リフレクションを使ったフレームワーク構築例
  • TemplateMethodパターン
Apache Struts 1.2.9
  • Commons Digester によるXML設定ファイルからのアプリケーション初期化
  • Front Controllerの実装例
  • Commons BeanUtils によるリクエスト値のFormオブジェクトへの変換
  • Tilesを例としたフレームワークの拡張性の確保
Eclipse 3.1.2
  • OSGi, Equinoxによるフレームワーク構築例
Apache Tomcat 5.5.17
  • JMXを使ったコンポーネントベースのフレームワーク構築例
  • リクエスト処理でのMaster-Slaveパターン, Leader/Folloersパターンの実装例
Jakarta Velocity 1.4
  • JavaCCによるドメイン特化言語(DSL)実装例
  • 言語処理、とくに抽象構文木(AST)の処理でのInterpreterパターン, Visitorパターン活用例
Sprint Framework 1.2.8
  • DIコンテナ実装例
  • 動的プロキシ(java.lang.reflect.Proxy)によるAOPの実現例
HSQLDB 1.8.0.5
  • 独自JDBCドライバの実装例
  • Proxyパターンによる通信先の隠蔽
original url: https://www.glamenv-septzen.net/view/692