atsukanrockのブログ

Microsoft系技術を中心にぼちぼち更新します

書評『Patterns of Enterprise Application Architecture』

Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))

Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series (Fowler))

ITアーキテクトのバイブルと言われるだけあって、素晴らしい。私にとってもバイブルとなった。

私にとって

特に素晴らしかったのは、次の変化が起こったことだ。

読む前 読んだ後
実戦経験で得た設計ノウハウ はっきりと認識できるパターン

さらに、本書を読むまでは全く思いついていなかったパターンもあった。

世の中のフレームワークとの関係

世の中のエンタープライズアプリケーション用フレームワークの多くは、少なからず本書を参考にしているのではないか。例えばHibernateは、本書のO/Rマッピング関係のパターンを、数多く実装しているようだ*1ADO.NETの非接続型データアクセス*2は、「Table Module」や「Table Data Gateway」そのものだし、Visual Studioデータセットデザイナー*3は、「Optimistic Offline Lock」を自動的に実装する機能を持っている。

日本語で得られる情報

日本語で情報を得るには、『PofEAA's Wiki』が良いと思う。ただ、リンク先はあくまで「パターンの簡単なサマリ」なので、本書を読んでいないと本質の理解は難しいだろう。

私は翻訳書『エンタープライズ アプリケーションアーキテクチャパターン』も購入したが、後悔している。翻訳がひど過ぎるのだ。Amazonのカスタマーレビューで散々な言われようだったので、覚悟はしていた。だが、いくらなんでも日本人なのだから、英語より日本語の方が効率良く読めるはずだと思っていた…が、見事に裏切られた。悪い翻訳と言われるものに、直訳すぎるというのがよくあるが、それどころではない。原書とは全く意味が違ってしまっている箇所が、散見される。ただ、これだけ問題だらけでも、日本語は日本語である。日本語メインで読んで、意味が分からない箇所は原書を参照する、という読み方はできる。どちらか1冊だけを購入するというのなら断然原書だが、私のように両方購入する方が、より良いと思う。

*1:私は触ったことがないので詳しいことが言えない…

*2:簡単に言うと、DataReaderではなくDataSetを使う方法

*3:これは「フレームワーク」ではないが