10章レイヤードアーキテクチャ
レイヤードアーキテクチャは、n層アーキテクチャとしても知られており、最も一般的なアーキテクチャスタイルの1つだ。このスタイルのアーキテクチャは、シンプルさや親しみやすさ、コストの低さから、ほとんどのアプリケーションにとってのデファクトスタンダードとなっている。また、このスタイルは、システムを設計する組織にとって、とても自然な形でアプリケーションを開発できる形でもある。それは、組織はそのコミュニケーション構造をコピーしたシステムを設計するように制約されているという、コンウェイの法則(https://oreil.ly/Rb4uN)が働くからだ。ほとんどの組織には、ユーザーインターフェイス(UI)の開発チーム、バックエンドの開発チーム、ルール開発チーム、データベース管理チーム(DBA)がいる。こうした組織構造は、伝統的なレイヤードアーキテクチャの各層にうまくフィットしており、多くのビジネスアプリケーションにとって自然な選択となっている。レイヤードアーキテクチャは、暗黙のアーキテクチャアンチパターンや偶発的アーキテクチャアンチパターンといったアンチパターンにも該当する。開発者やアーキテクトが使用しているアーキテクチャスタイルを把握できていない場合や、アジャイル開発チームが「コーディングを始めたばかり」の場合には、彼らが実装しているアーキテクチャスタイルはレイヤードアーキテクチャである可能性が高い。
10.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.