9章基礎

アーキテクチャスタイルは、さまざまなアーキテクチャ特性をカバーする、コンポーネント同士の名付けられた関係を説明するものだ。アーキテクチャスタイルは、アーキテクチャパターンと呼ばれることもある。それぞれのアーキテクチャスタイルは、デザインパターンと同様、経験豊富なアーキテクト同士の表現法として機能する定まった名前を持つ。たとえば、アーキテクトがレイヤードアーキテクチャについて話しているとする。このとき、会話の相手は、構造の側面やサポートされるアーキテクチャ特性(とサポートされないアーキテクチャ特性)、典型的なデプロイメントモデル、データ戦略といった多くの情報を理解している。したがって、アーキテクトは、一般的なアーキテクチャスタイル名に慣れ親しんでいなければならない。

それぞれのアーキテクチャスタイル名が表すのは、そのアーキテクチャスタイルに関する豊富な詳細だ。それこそが、デザインパターンの目的の1つでもある。アーキテクチャスタイルの詳細には、トポロジー、想定もしくは既定されているアーキテクチャ特性、そしてメリットとデメリットがある。「第Ⅱ部 アーキテクチャスタイル」では、今現在一般的となっている多くのアーキテクチャパターンを取り上げる。しかしながら、アーキテクトは、そうしたアーキテクチャスタイルの下地となっている基礎的なパターンにも精通している必要がある。

9.1 基礎的なパターン

ソフトウェアアーキテクチャの歴史には、いくつかの基礎的なパターンが繰り返し登場する。なぜなら、そうしたパターンは、コードやデプロイメント、あるいはアーキテクチャの他の側面を整理する上で有用な視点を提供するからだ。たとえば、アーキテクチャにおけるレイヤーの概念は、機能性に基づいて異なる関心事を分離するものであり、ソフトウェアそのものと同じくらい古くから存在している。しかし、レイヤードパターンは、 ...

Get ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.