ソフトウェアアーキテクチャ・ハードパーツ ―分散アーキテクチャのためのトレードオフ分析
by Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani, 島田 浩二
第I部分解する
多くの人が子供の頃に経験したように、物がどのように組み合わさっているかを理解するには、まずそれをバラバラにしてみるのが優れたやり方だ。分散アーキテクチャにおけるトレードオフのような複雑な事柄を理解するには、アーキテクトは、それを解きほぐすための最初の糸口を見つけ出さなくてはならない。
Meilir Page-Jonesは、書籍『What Every Programmer Should Know About Object-Oriented Design』(Dorset House)[4]の中で、アーキテクチャにおける結合は、静的なものと動的なものに分類できるという鋭い洞察を示している。静的な結合とは、アーキテクチャのパーツ(クラス、コンポーネント、サービスなど)が、つながっていることを意味している。つまり、依存関係、結合度、接続点などがあるということだ。静的な結合は、コンパイル時に評価されることが多く、アーキテクチャにおける静的な依存関係として表される。
動的な結合とは、アーキテクチャの各部分が互いを呼び出すことを意味している。つまり、何らかの通信や情報の受け渡し、厳格なコントラクトなどが存在しているということだ。
本書の目標は、分散アーキテクチャにおけるトレードオフ分析の仕方を明らかにすることだ。それには、それぞれの可動部をバラバラにし、よく理解するために個別に議論した上で、つなぎ合わせる必要がある。
第Ⅰ部では、主にアーキテクチャの構造面、つまり物事がどう静的に結合されているかを扱う。「2章 ソフトウェアアーキテクチャにおける結合の見分け方」では、静的結合と動的結合のスコープを定め、アーキテクチャを分解するための単位を提示する。「3章 アーキテクチャのモジュール化」 ...
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