web-dev-qa-db-ja.com

MVC(Model View Controller)とは何ですか?

最近、MVC(Model View Controller)という用語が大量のバズで投げられたと聞きましたが、それは実際には何ですか?

23

Martin Fowlersサイト で、Martin FowlerがMVC、MVP、およびUIアーキテクチャ全般について何と言っているかを確認することをお勧めします。

22
Ruben

私は この記事 が好きです。厳密に言えば、MVCは、リッチUIプログラミングの元のドメインでは実際には多かれ少なかれ死んでいることがわかります。 ViewとControllerの違いは、ほとんどの最新のUIツールキットには当てはまりません。

この用語は、最近Webプログラミング界に新しい命を吹き込んだようです。それが本当にMVCなのか、それとも密接に関連しているが微妙に異なるアイデアの名前を再利用しているだけなのかはわかりません。

10
Luke Halliwell

MVCは、Smalltalkの昔に最初に開拓されたデザインパターンです。

概念は、モデルがアプリケーションの状態とロジックを表し、コントローラーが「ビュー」間でIOを処理する」というものでした。

ビューは、モデルの状態を表現したものです。たとえば、モデルがスプレッドシートドキュメントであり、それをスプレッドシートとして表すビューと、ピボットテーブルとして表すビューがあるとします。

現代のMVCは偽のMVCWebジャンクで汚染されているので、他の人に答えさせます。

5
FlySwat

あなたの質問のタグがそのデザインパターンを述べているように。しかし、それはおそらくあなたを助けません。基本的には、コードを論理グループに編成して、さまざまな部分を分離し、簡単に変更できるようにする方法です。

簡略化:モデル=データ構造/ビジネスロジックビュー=出力層(つまりHTMLコード)コントローラー=メッセージ転送層

したがって、人々がMVCについて話すとき、彼らが話しているのは、コードをこれらの論理グループに分割して、コードをクリーンで構造化された状態に保ち、できれば疎結合にすることです。このデザインパターンに従うことで、コントローラーやモデルに触れることなく(つまり、HTMLからRSSに切り替えることなく)、ビューを完全に別のものに変更できるアプリケーションを構築できるはずです。

世の中には膨大な数のチュートリアルがあり、それをググるだけで十分です。クリックすることで説明できる少なくとも1つのチュートリアルが表示されると思います。

2
Rob Booth

これがMVCの素朴な説明です: http://www.devcodenote.com/2015/04/mvc-model-view-controller.html

スニペット:

定義:これは、アプリケーションを機能の複数のレイヤーに分割するデザインパターンです。

レイヤー:

モデルデータを表します。これは、データベースとアプリケーション間のインターフェイスとして機能します(データオブジェクトとして)。検証、関連付け、トランザクションなどを処理します。

コントローラデータを収集して処理します。データ選択とデータメッセージングを行うコードを処理します。

表示ユーザーに出力を表示します。

2
Abhishek Jain

ウィキペディアはこれまでのところそれを最もよく説明しているようです:

http://en.wikipedia.org/wiki/Model-view-controller

Model-view-controller(MVC)は、ソフトウェアエンジニアリングで使用されるアーキテクチャパターンです。パターンの使用が成功すると、ビジネスロジックがユーザーインターフェイスの考慮事項から分離され、アプリケーションに影響を与えることなく、アプリケーションの外観または基になるビジネスルールのいずれかを簡単に変更できるアプリケーションになります。 MVCでは、モデルはアプリケーションの情報(データ)とデータの操作に使用されるビジネスルールを表します。ビューは、テキスト、チェックボックス項目などのユーザーインターフェイスの要素に対応します。コントローラは、キーストロークやマウスの動きなどのユーザーアクションのモデルへの通信に関連する詳細を管理します

1

MVCデザインパターン:

4つの部分=ユーザー、ビュー、コントローラー、モデル。

ユーザー:-ビューを表示し、コントローラーを使用します。

モデル:-データを保持し、新しいデータ/状態があるモデルを更新します。

表示:-モデルにあるデータを表示します。

コントローラ:-ユーザーからリクエストを取得して情報を取得または設定し、ビューまたはモデルと通信します。 -ビューを介して「取得」します。 -モデルを介して「設定」します。

1
specialk1st

MVCまたはモデルビューコントローラーのユーザーインターフェイスパラダイムは、Xerox PARCのTrygve Reenskaugによって最初に説明されました。 1981年8月、Byteマガジン第6巻、第8号に初登場。

1
dacracot

これ MVCとは Oreillyに関するブログ記事で取り上げました。

0
ctcherry

MVCは、ユーザーの操作から表現を分離するソフトウェアアーキテクチャパターンです。通常、モデルはアプリケーションデータとそれと相互作用する関数で構成され、ビューはこのデータをユーザーに表示します。コントローラは2つの間を仲介します。

0
jswoody