質問: プレゼンテーション層、アプリケーション層(ビジネスロジック層?)、データアクセス層みたいに3層に分かれている3層アーキテクチャーと、モデル、コントローラー、ビューでわかれているMVCはおんなじようなものでしょうか? 3層アーキテクチャーというのは最近、触れた言葉なのでまだよく理解していないです。(Java界隈でよく使われている言葉?) MVCもWebでの話なのか、クライアント側でRest API使って完結するようなSPAやネイティブアプリでの話なのかによって、意味合いが変わったりすると思いますが、ここでのMVCはクライアントサイドMVCとなります。 役割 M - ビジネスロジックを担当。DBやAPIに依存した処理も含む。 C - VとMの橋渡し役。Vからの入力イベントを適切なMに依頼。Mから返ってきたデータをVに渡す。 V - モデルのデータ表示担当 関係性 M - MはCを知っている。 C - CはMとVを知っている。 V - VはCを知っている。そして、VはMを知ってても良いし知らなくても良い。
回答: 大きく3つに分類しているという点では共通するところもありますが、考え方は異なるものです。 多層アーキテクチャ - Wikipedia コードの修正箇所や修正の影響範囲を狭めたり等で保守性を高めるため、コードの役割分担を明確にしています。 ご質問のもの以外では、ロバストネス分析で定義されるBCEモデル(バウンダリ、コントロール、エンティティ)などの分類もあります。