5章アーキテクチャ特性を明らかにする
アーキテクチャを推進する力となる特性を明らかにすることは、アーキテクチャを作成したり、既存のアーキテクチャの正当性を判断したりするための最初のステップだ。与えられた問題やアプリケーションのアーキテクチャ特性(「イリティ(-ility)」)を明らかにするには、ドメインの問題を理解するだけでなく、ステークホルダーと協力し、ドメインの観点から本当に重要なことを見極める必要がある。
アーキテクトは、ドメインの関心事、要件、暗黙的なドメイン知識という、少なくとも3つの方向からアーキテクチャ特性を明らかにできる。暗黙的な特性についてはすでに説明したので、ここでは他の2つについて取り上げていく。
5.1 アーキテクチャ特性をドメインの関心事から捉える
適切なアーキテクチャ特性を明らかにするには、ドメインの関心事を翻訳できなければならない。重要なのはスケーラビリティだろうか。それとも、耐障害性やセキュリティ、パフォーマンスだろうか。あるいは、システムには4つの特性をすべて組み合わせたものが必要だろうか。主要ドメインのゴールや状況を理解することで、アーキテクトはドメインの関心事を「イリティ(-ility)」へと変換でき、それが健全で賢明なアーキテクチャ決定の基礎となる。
ドメインのステークホルダーと協力してアーキテクチャ特性を定義する際は、サポートするアーキテクチャ特性の数を可能な限り絞ろう。すべてのアーキテクチャ特性をサポートする汎用アーキテクチャを設計しようとするのは、アーキテクチャでよくあるアンチパターンだ。アーキテクチャ特性をサポートすることで、システム全体の設計は複雑になっていく。たくさんのアーキテクチャ特性をサポートし過ぎてしまうと、ソフトウェアを作る元々の動機にアーキテクトと開発者が取り組み始める手前で、システムが複雑になりすぎてしまう。サポートするアーキテクチャ特性の数にこだわらず、設計をシンプルに保つ気持ちを大切にしよう。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access