1. ホーム
  2. model-view-controller

[解決済み] MVCとN層アーキテクチャの比較

2022-05-10 13:29:56

質問

アプリケーションのアーキテクチャパターンであるMVCとN階層アーキテクチャの違いは何でしょうか?検索してみたのですが、簡単な説明が見つかりませんでした。多分、私はMVCの概念について少し単純なので、もし誰かがその違いを説明できたら、それは素晴らしいことです。

乾杯

解決方法は?

N層アーキテクチャは、通常、各層がネットワークで分離されています。例えば、プレゼンテーション層はいくつかのWebサーバー上にあり、ビジネスロジックのためにネットワーク経由でバックエンドアプリサーバーと通信し、再びネットワーク経由でデータベースサーバーと通信し、アプリサーバーはいくつかのリモートサービス(例えば支払い処理のためのAuthorize.net)にもコールアウトするかもしれない、というように。

MVCは、アプリケーションのモデル、ビュー、コントローラをそれぞれ別のコードで表現するプログラミングデザインパターンです。この2つは関連しており、例えば、モデル層はデータを保存・取得するためにデータベースを呼び出す内部実装を持っているかもしれません。 コントローラはウェブサーバ上に存在し、データを取得するためにリモートでアプサーバを呼び出すかもしれません。MVCは、アプリのアーキテクチャがどのように実装されるかの詳細を抽象化しています。

N層は、実装の物理的な構造を指すだけです。MVCデザインはしばしばN層アーキテクチャを使用して実装されるため、この2つは時々混同されます。