本書は、J2EE技術を使ったアプリケーション作成でおちいりやすい罠について説明されています。おちいりやすい罠とは例えば、ユースケースの一つ一つについてサービスクラスを作ってしまうようなものを言っています(Tiny Serviceアンチパターン)。
デザインパターンとは違った面白さがここにはあります。私が感じた面白さの一つは、「自分もこんな間違えやってるなー」といった敗北感や、「前にやった設計、このアンチパターンを回避してたぜ」みたいな安心感などを読みながら感じられるところです。
J2EEというと範囲がとても広いと思ってしまいます。確かに、ページ数は500ページを超える分厚い部類に入ると思います。ただ、本書のようなある種のパターン本は最初から最後まで全部読む必要はなく、必要になったとき(例えば設計やコードレビューのとき)にパラパラめくるだけでいいと思います。
サーブレット、JSP、EJB、分散、永続化、サービス層、そしてWebサービス。粒度は違えど、すべてJ2EEに関係のあるものばかりです。リファレンス感覚で、手元においておくのはどうですか?値段だけで決めるとしても、決して高くないと思いますよ。
特徴
リファレンスとしてもっておくのがベスト
やっぱり、リファレンス用途としてもっておくのがいいと思います。本書の構成は、
- パターン名
- 別名
- 頻出規模(例:アーキテクチャ、アプリケーション、システム)
- リファクタリング(改善するときに使うリファクタリングのこと)
- 基本原因
- 挿話証拠(この言葉を聞いたら要注意)
でアンチパターンを定義し、「背景」、「一般形式」、「症状と結果」、「典型的な原因」、「既知の例外」、「リファクタリング」、「変種」、「例」、「関連するソリューション」の9の項目について書かれています。
面白いのは、「既知の例外」という項目があるところです。基本的にはアンチパターンなんだけどこの場合は仕方ない、もしくはこのままのがよいということが書かれています。結構勉強になります。
反面教師
アンチパターンは、「反面教師」です。こういうふうにしてはいけない、ということがまとめられています。本書ではさらに、このアンチパターンを良くするにはどうすればよいかと言うことまで言及しています。ここが一つの本書のポイントだと思います。
厚い本なので、手に取るのを躊躇するかもしれませんが、手元においておいて損はないのではないでしょうか。結構楽しめると思います。
参考
- ソフトウェア開発のアンチパターン
- EJBのアンチパターン
- サーブレット、JSPのアンチパターン
- Javaプログラミングのアンチパターン