本書は、業務アプリケーションのアーキテクチャパターンをカタログ化したパターン本です。アーキテクチャ設計において考えなければならない必須要素(下記箇条書き)に関して、例を示しながら説明しています。
- レイヤ化
- プレゼンテーション層の構築
- ビジネスロジック層の構築
- インテグレーション層(O/Rマッピング)の構築
- 分散環境に関するパターン
- セッションステートパターン
- 基本パターン
アーキテクチャは開発者の実作業に大きな影響を与えます。良いアーキテクチャは、システムに要求されている事柄を容易に構築できる環境を提供します。悪いアーキテクチャは一つのことを成し遂げるのに苦労を伴います。
良いアーキテクチャか悪いアーキテクチャかというのは、設計の良し悪しで決まることもありますが、ほとんどはそうではないと思います。アーキテクチャの良し悪しは、そのアーキテクチャの使いどころがぴったりはまっているかどうかだと思います。
本書は、それぞれのアーキテクチャパターンの長所・短所、使いどころ、使用上の注意などがまとめられています。初めてアーキテクチャ設計に携わるような開発者に是非とも読んでもらいたい一冊です。
特徴
本書は、業務アプリケーションのアーキテクチャパターンをカタログ化したものです。Amazonのカスタマーレビューにも書いてある通り、目新しいアーキテクチャは出てきません。業務アプリケーションのアーキテクチャ設計を経験した人なら誰でも考えたことがあるような設計が載っているだけです。
とはいえ、アーキテクチャ設計のパターンをカタログ化し、それぞれの長所・短所、注意点、使いどころ等がまとめられていますので、手元においておく価値は十分にあります。ただし、邦訳は日本語がちょっとアレなので(人のことは言えませんが・・・^^;)、英語が苦にならない人は原著をおすすめします。『Patterns of Enterprise Application Architecture』
どこかで見たことあるぞ!
本書にまとめられているパターンは、アーキテクチャ設計に興味のある人ならどこかで目にしたことがあるものが多いと思います。特に目新しいパターンはありません。
レイヤ化のパターンを例にとると、プレゼンテーション層・ビジネスロジック層・データソース層に分けるということが書いてあります。3階層のアーキテクチャというのはどこかで聞いたことがあるのではないでしょうか?このパターンを使うときは、ビジネスロジック層とデータソース層はプレゼンテーション層に依存してはいけないと言う明確なルールがありますと書かれています。
こういった、各パターンについて、使い方や注意点がマーチン・ファウラーによってまとめられていると言うところに、本書の価値があるのだと思います。
参考
- J2EEパターンの優良本
- 業務アプリケーション開発の異端児?
- パターンを使って設計をリファクタリングする本