はじめに アプケーション・アーキテクチャについて学ぶと「MVC」や「3 層アーキテクチャ」といった言葉にたどり着きます。 さらに勉強を進めると「MVVM」、「ドメインモデル」、「クリーンアーキテクチャ」など、よく分からない言葉がどんどん増えていきます。 また、「オブジェクト指向」を勉強しても、実際のアプリケーションでの使いどころが分からなかったりします。 この記事では、これらの用語の非常に分かりにくい関係を整理しました。 2 種類の 3 層 伝統的な Web アプリケーションは、以下のように 3 種類のサーバから成り立ちます。 このサーバ構成を 3 層アーキテクチャと言うことがあります。 一方、アプリケーションサーバで動いているプログラムの内部構造も、以下のように 3 層に分離することがあります。 これも 3 層アーキテクチャと言うことがあります。 この記事では、サーバの構成ではなく、アプ