MVCとは何ですか?

     MVCはモデル、ビュー、コントローラの略称であり、MVCデザインパターンは、アプリケーション開発、それは我々がの3つのタイプのオブジェクトが含まMVCデザインパターンでモデル2を知っている、あるある:(1)モデル(モデル)オブジェクト:アプリケーションをプログラムの主要部分。(2)ビュー(ビュー)オブジェクト:それは、アプリケーションのユーザーインターフェイスの一部を生成するための責任があります。(3)コントローラ(制御)オブジェクト:ユーザーの入力に応じて、ユーザインタフェース制御部と、オブジェクト・モデルのデータ更新状態。すなわち、アプリケーション開発インターフェイスディスプレイで、ビジネスロジックへのデータの分離をお願いします。

      MVCアプリケーションは、限り、同様に。常に三つの部分.Event(イベント)で構成されてモデルやビューコントローラの変更、または同じ時間変化の両方につながる。限りコントローラは、データや属性のモデルを変更して、すべてのビューに依存して自動的に更新されますコントローラは、ビューを変更し、ビューで自分自身をリフレッシュするために、潜在的モデルからデータを取得しますMVCパターンと、その実装は非常に複雑で、複雑なアーキテクチャモデルですが、一緒にデザインパターンの多様性は、MVCパターンの実現は比較的なりシンプル.Views明らかに合成パターンが.Viewsとモデルとの間の関係を達成するために使用することができ、ツリーとして見ることができるには、Observerパターンでビューの表示を制御することができます.Controllerを反映して、あなたは戦略パターンは、多くの場合、仲介者を.MODELを実現使用することができます誰が達成Mediatorパターンを使用することができます。

       MVCは、デスクトッププログラムに元々存在していた、Mは、データ・モデルを指し、Vは、Cは、コントローラである、ユーザーインターフェースを指します。同じプログラムが異なる形式を使用できるようにMVCは、目的のMおよびV実装コードの分離です。例えば、統計データの数は、あなたが表現するために、各ヒストグラム、円グラフを使用することができます。目的は、一度Vが同期されるべきで、Mを変更し、C MとVシンクの存在を保証することです。

モデル-ビュー-コントローラ(MVC)は
     ソフトウェアデザインパターンのプログラミング言語Smalltalkの-80発明として、80年代にゼロックスPARCで、広く使用されています。近年では、SunのJ2EEプラットフォームの設計パターンとして推奨されていた、とColdFusionとPHP開発者のより多くの使用による歓迎しました。モデル-ビュー-コントローラパターンは、それは多くの利点があり、便利なツールキットですが、いくつかの欠点があります。
MVCの作業方法
MVCのデザインパターン、入力、処理、出力が別途必須アプリケーションになります。モデル、ビューおよびコントローラコアを使用して、MVCアプリケーションは、3つの部分に分割されています。彼らはそれぞれのタスクを扱います。
ビュー
ビューは、ユーザーが見るとインタフェースとの対話です。昔ながらのWebアプリケーションのうち、ビューは、新しいWebアプリケーションでHTMLインターフェイス要素から、HTMLはまだビューで重要な役割を果たしているが、新技術が出現してきた、と彼らは、MacromediaのFlashを含めますXHTML、XML / XSL、WMLマークアップ言語といくつかの他のWebサービスのような。

アプリケーションに対処する方法のインタフェースより多くの挑戦になります。MVCは、それはあなたのアプリケーションのためのさまざまなビューの多くを扱うことができる大きな利点です。実際の見解では実際の処理が行われない、または、彼らはビューが懸念しているとして、それだけでデータを出力する方法としてであり、ユーザーの操作を可能にする、オンラインで保存従業員データのリストであるかどうかがあります。

モデル
モデルは、エンタープライズデータとビジネスルールを表します。MVCの三つの部分では、モデルは、ほとんどの処理タスクを持っています。例えば、そのようなEJBとColdFusionコンポーネントとして対象部材を使用してデータベースを処理することが可能です。モデルデータは、データ・モデル・フォーマットとは無関係である、ニュートラルに戻され、このようなモデルは、複数のビューのためのデータを提供することができます。コードはモデルに適用されているので、一度だけ再利用される複数のビューを書き込むので、反復コードの減少。

コントローラ
コントローラは、ユーザ入力を受け入れ、ユーザのニーズの完了にモデルとビューを呼び出します。だから、とき、ハイパーリンクやWebページにHTMLフォームを送信]をクリックし、コントローラ自体は何も出力しないと何もします。それはちょうど、要求を受信して、メンバーが要求を処理した後、返されたデータ処理モデルを表示する表示かを決定するモデルを決定呼び出します。

今、私たちは、プロセスMVCをまとめ、最初のコントローラは、ユーザの要求を受け取り、処理するために呼び出されるべきモデル決定し、ユーザの要求を処理するためのビジネスロジックと、モデルとデータを返し、最終的に適切なビューコントローラが返すモデルをフォーマットするとプレゼンテーション層を介してユーザに提示されるデータ、および。
なぜMVCを使用

ほとんどのWebアプリケーションでは、ASP、PHP、またはを作成するために、CFMLなどの手続き型言語のようなものです。彼らは、そのような混合HTMLなどのデータ層のコードとプレゼンテーションコードとしてデータベースを照会します。より多くの経験を積んだ開発者はプレゼンテーション層からデータを分離しますが、これは、通常は行うことは非常に簡単ではありません、それは慎重な計画を必要とし、努力を続けます。MVC根本必須それらを分離します。構造がMVCアプリケーションは、いくつかの余分な作業が必要ですが、それは私たちをもたらしたメリットは疑問視されます。

まず第一に、最も重要な点は、複数のビューは、私が述べたように、今、あなたのアプリケーションにアクセスするためのより多くの方法を使用する必要があり、モデルを共有するということです。モデルとそれらを扱うことができ、この点では、一つの解決策は、FlashのユーザーインターフェイスやWAPインタフェースをしたいかどうか、MVCを使用することです。あなたは、データとビジネスルールを持っているので、プレゼンテーション層から分離ので、あなたのコードを再利用最大化することができます。

モデルリターンデータがフォーマットされていないので、同一の構成要素には異なるインターフェイスで使用することができます。例えば、多くのデータをHTMLで表現することができる、彼らはまた、表現するためにはMacromedia FlashやWAPを使用する可能性を持っています。モデルは、状態管理やデータ永続化処理は、例えば、セッションベースのショッピングカートや電子商取引のプロセスはまた、Flashサイトや、ワイヤレスネットワーキングアプリケーションの再利用することができます。

モデルは自己完結型とビューとコントローラから分離しているので、あなたのビジネスルールとデータ層アプリケーションを変更することは簡単ですので。あなたがMySQLからOracleにデータベースをしたい、またはLDAPにあなたのRDBMSベースのデータソースを変更する場合は、単にあなたのモデルを変更することができます。あなたは関係なく、データベースやLDAPサーバーからのデータのモデルの正しい実装をしたら、ビューは現在、それらを適切に表示されます。あなたは良い緩い結合部材を構築することができますので、このデザインのアイデアに基づくものは、他の2つには影響しません変更する3人の要素MVCアプリケーション反対、の使用による。

私にとっては、コントローラは、コントローラが建設アプリケーションのための強力なツールを提供できるようにあなたが、ユーザーのニーズの完了に異なるモデルとビューを結合するためにコントローラを使用することができるという利点を提供しています。いくつかの再利用可能な所定のモデルとビューは、コントローラは、ユーザの要求に基づいてプロセスモデルを選択し、ユーザに表示されたビューの処理結果を選択することができます。

MVCの欠点
MVCの欠点は、それが明確に定義されていないためであるので、完全にMVCは非常に簡単ではありません理解しています。使用MVCは、その内部の原理は、より複雑であるのため、慎重に計画する必要があり、そう思うまでに時間がかかります。

また、アプリケーションのデバッグ特定の難しさに来る厳密に分離、およびので、モデルとビュー、アプリケーションにMVCを適用する方法を検討するためにかなりの時間を費やす必要があります。各メンバーは、徹底的にテスト使用前に必要とされます。あなたのコンポーネントがテストされていたら、あなたは自由にそれらを再利用することができます。

私の個人的な経験に基づいて、我々は次のようになりますので、アプリケーションは、次の3つの部分に分かれているので、MVCの使用はまた、あなたがこれまで以上にファイルを管理しなければならないことを意味し、これは明白です。このような私たちのワークロードが増加したが、覚えておいているかのようなメリットに比べて、それは私たちが言及する価値はないもたらすことができます。

MVCは、小規模あるいは中規模のアプリケーションに適していない、MVCはしばしば浪費される大規模なアプリケーションではありません適用するために多くの時間を費やしています。

MVCは、ソフトウェアを作成するための良い方法である
MVCデザインパターンを互いに分離コンテンツや表示等が提唱原理のいくつかは、より良く理解され得る、ソフトウェアを作成するための良い方法です。あなたがコンポーネントモデル、ビューとコントローラを分離したい場合しかし、あなたは特にフレームワークの適用に関して、あなたのアプリケーションを再考する必要があるかもしれません。あなたはMVC、そして余分な作業とそれがもたらす複雑さに対処する能力を受け入れて喜んでいる場合は、MVCは、新しいレベルに堅牢性、コードの再利用や構造上のソフトウェアを行います。

 

ます。https://www.cnblogs.com/hubcarl/archive/2009/03/23/1419674.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33901641/article/details/93817141
おすすめ