MVCとは何ですか?いいものですね。


MVCとは何ですか ? 初めての面接のphperを覚えています。MVCはmがmodelで、vはviewです。cはControllerです。具体的には他のことは何も知らないです。自分がどんなに下手かやっと分かりました。そこで私はそれをはっきりさせないと決めました。次の資料を探しています。2006-12-17 12:02:37  大中小  モデル-ビュー-コントローラ(MVC)は、80年代にプログラミング言語Smalltalk-80のために発明された、Xerox PARCのソフトウェア設計モデルであり、これまで広く使われてきました。ここ数年はSun社J 2 EEプラットフォームの設計モデルに推薦され、ますます多くの利用を受けています。 ColdFsion 和 PHP の開発者の歓迎を受けました。モデル-ビュー-コントローラモードは有用なツールボックスであり、多くの利点がありますが、欠点もあります。MVCはどのようにMVCを作業するかを設計モードとしており、アプリケーションの入力、処理、出力を強制的に分離しています。MVCアプリケーションを使用して、モデル、ビュー、コントローラの3つのコアコンポーネントに分けられます。彼らは各自の任務を処理する。ビュービューは、ユーザーが見て対話するインターフェースです。旧式のWebアプリケーションにとって、ビューはHTML要素からなるインターフェースであり、新式のWebアプリケーションでは、HTMLは相変わらずビューで重要な役割を果たしていますが、いくつかの新しい技術が次々と現れています。Macromedia FlashとXHTML、XML/XSL、WMLなどのいくつかの識別言語やWeb services.どのようにアプリケーションを処理するかについてのインターフェースはますます挑戦的になっています。MVCの大きな利点は、あなたのアプリケーションのために多くの異なるビューを処理することです。ビューでは実際に処理が行われていません。これらのデータはオンラインで保存されているか、または従業員リストであるかに関わらず、ビューとしてはデータを出力し、ユーザーに操作させるだけの方法です。モデルは企業データと業務規則を表します。MVCの3つの部品の中で、モデルは最も多くの処理任務を持っています。例えば、EJBsやColdFsion Componentsのような部材オブジェクトでデータベースを処理することができます。モデルによって返されたデータは中立的であり、つまりモデルはデータフォーマットに無関係であり、このようなモデルは複数のビューにデータを提供することができる。モデルに適用されたコードは、1回書くだけで複数のビューで再使用できますので、コードの繰り返しが低減されます。コントローラコントローラは、ユーザーからの入力を受け付け、モデルやビューを呼び出してユーザのニーズを完了させます。したがって、WebページのハイパーリンクをクリックしてHTMLフォームを送信する場合、コントローラ自体は何も出力しません。要求を受信し、要求を処理するためにどのモデル部材を呼び出すかを決定し、どのビューでモデル処理が戻ったデータを表示するかを決定する。MVCの処理手順をまとめて、まずコントローラがユーザーの要求を受信し、どのモデルを呼び出して処理すべきかを決定し、モデルはビジネスロジックでユーザーの要求を処理し、データを返します。最後にコントローラは対応するビューフォーマットモデルでデータを返し、表示層を介してユーザに提示します。なぜ使いますか MVCのほとんどのWebアプリケーションはASP、PHP、またはCFMLのようなプロセス言語で作成されます。データベースクエリ文のようなデータ層コードとHTMLのような表示層コードが混在します。経験豊富な開発者は表示層からデータを切り離すことができますが、通常は簡単にはできません。綿密な計画と試行錯誤が必要です。MVCは根本的に強制的にそれらを分離します。MVCアプリケーションの構造にはいくつかの追加の作業が必要ですが、それが私たちにもたらすメリットは無難です。まず、一番重要なのは、複数のビューでモデルを共有できることです。私が述べたように、今はより多くの方法であなたのアプリケーションにアクセスする必要があります。これに対して、一つの解決方法はMVCを使っています。Flashインターフェースや WAP インターフェースモデル一つでそれらを処理できます。データと業務規則を表示層から分離していますので、あなたのコードを最大化して再利用できます。モデルから返されたデータはフォーマットされていないので、同じ部材は異なる界面で使用できます。例えば、多くのデータはHTMLで表されることがありますが、Macromediaを使うこともあります。 FlashとWAPは表します。モデルは状態管理とデータ耐久性処理の機能もあります。例えば、会話ベースのショッピングカートや電子商取引のプロセスもFlashサイトや無線インターネットのアプリケーションによって重用されます。モデルは自分で含んでいて、コントローラとビューとは分離しているので、あなたのアプリケーションのデータ層と業務規則を変更しやすいです。もしあなたのデータベースをMySQLからOracleに移植したいなら、またはRDBMSベースのデータソースをLDAPに変更したいなら、あなたのモデルを変更すればいいです。モデルが正しく実現されると、データがデータベースから来ても、LDAPサーバから来ても、ビューは正しく表示されます。MVCのアプリケーションを運用する3つの部品は互いに対立しているので、そのうちの1つは他の2つに影響しないです。このような設計思想によって、良好な松偶合の部材を構築することができます。私にとってコントローラのメリットは、さまざまなモデルとビューを接続して、コントローラがアプリケーションを構成するための強力な手段を提供することです。いくつかの再利用可能なモデルとビューを指定して、コントローラはユーザーのニーズに応じてモデルを選択して処理し、ビューを選択して処理結果をユーザに表示します。MVCの欠点MVCの欠点は明確な定義がないため、MVCを完全に理解するのは簡単ではない。MVCを使うには計画が必要です。内部原理が複雑なので、考える時間がかかります。あなたはかなりの時間を費やして、MVCをどのようにあなたのアプリケーションに適用するかを考えなければなりません。また、モデルとビューの厳密な分離のため、デバッグアプリケーションにも一定の困難が訪れます。各部材は使用前に徹底的なテストが必要です。あなたの部材がテストを受けると、それらを遠慮なく重用することができます。私の経験によれば、一つのアプリケーションを三つの部品に分けていますので、MVCを使うと同時に以前よりもっと多くのファイルを管理するということも分かります。これは私たちの仕事量が増えたようですが、それより私たちに与えられるメリットは何もないということを覚えてください。MVCは小型、中ぐらいの規模のアプリケーションには適していません。大量の時間をかけてMVCを規模が大きくないアプリケーションに適用すると、通常は引き合わないです。MVCはソフトウェアを作るには良い方法です。MVCの設計モードはソフトウェアを作るにはいい方法です。それはいくつかの原則を提唱しています。しかし、モデル、ビューとコントローラの構成要素を分離するには、あなたのアプリケーション、特にアプリケーションの構造を見直す必要があります。もしMVCを受け入れることを承知するならば、しかもそれの持ってきた余分な仕事と複雑さに対処する能力があって、MVCはあなたのソフトウェアを丈夫性にならせて、コードの重用と構造の方面の上で1つの新しい階段。JavaはWebを開発します アプリにはいくつかのMVC設計モードに合う開発方法があります。1:Jsp+Servlet+JavaBean(EJB)2:Jsp+JavaBean(Conttroler)+JavaBean(EJB)(Model)3:TDK(Turbine,Velocity…)4:Xsp 5:Jsp+Struts+JavaBean(EJB)