model-view-controller-pattern は Java で一般的に使用されていますか?
ビューとコントローラーがモデルと通信する 1 つのコンポーネントになるように、2 つのコンポーネントのみを使用するのが一般的だと聞きました。
4 に答える
質問は広すぎて答えられないかもしれませんが、物事を明確にするために:
- MVCパターンは多くの一般的なJavaWebフレームワークで使用されており、MVCモデル2も人気があります。
- モバイルアプリケーションを検討している場合、AndroidはMVCパターンを使用し、ビューとコントローラーの役割も明確に定義されています。
- デスクトップアプリケーションについて考えている場合は、MVCパターンを使用するSwingフレームワークがいくつかあります。
つまり、あなたの質問に対する答えは次のとおりです。はい、MVCパターンはJavaで広く使用されており、通常、ビューとコントローラーには独自の役割があります。おそらく、その概念は一種の混合ですが、他のタイプのアプリケーションではそうではありません。多くの。
乾杯!
はい、Javaでは非常に一般的です。
JavaEE では、javax.servlet.http.HttpServlet (サーブレット、コントローラー) によって構築された JavaBean (モデル) と同じくらい単純であり、要求属性として JSP ページ (ビュー) に転送されます。 HTMLとして。標準、オープンソース、プロプライエタリなど、目もくらむほどの種類のフレームワークもあります。これらはすべて、複雑さを軽減したり、開発者の生産性を向上させたりするために、通常はシンタックス シュガーを使用したクリーンな MVC 開発の聖杯を求めています。いくつかの大きな例は、Apache StrutsとJavaServerFaces (JSF)です。ウィキペディアには、Java MVC フレームワークの適切な概要があります。
JavaSE では、MVC を使用して設計された GUI アプリケーションは、リスナーなどの豊富な技術にアクセスして、モデルの変更をコントローラーからビューに伝達したり、ユーザーの操作をビュー コンポーネントからコントローラーに伝達したりできます。Swing では、ビューは JTextField のように単純なものにすることも、コンポーネントやウィジェットの重要なセットを含む JFrame のように複雑にすることもできます。Oracle には、パターンに関する概要ドキュメントがあります。
最後に、それは私だけかもしれませんが、ビューとコントローラーを組み合わせた例で、うめき声を上げずにリファクタリングを望んでいた例を見たことがありません。
MVC は、Java だけでなく、他のすべてのオブジェクト指向プログラミング言語で最も人気のある設計パターンの 1 つです。
コントローラーには、リクエストの処理やビューへのレスポンスのディスパッチなど、Web レイヤーのプレゼンテーション ロジックが含まれています。
ビューは、リクエスト値をコントローラーに渡し、返されたレスポンスをレンダリングする役割を果たします。
モデルは、ビューおよびコントローラーと密接に連携します。
Spring MVC を使用した簡単な例...
- ディスパッチャ サーブレットは、URL に基づいて関連コントローラにすべてのリクエストをチャネリングするフロント コントローラとして機能します。
- コントローラーはビュー (JSP) からリクエスト値を取得し、リクエスト値を処理して、それに応じてモデルに入力します
移入されたモデル
ORM フレームワーク (Hibernate) を介して渡されてデータベース内のデータを永続化するか、入力されたモデルがセッションまたはリクエスト スコープ変数に追加されます
これは、JSTL または EL を使用して値をビュー (JSP) に戻すために使用されます。
これは、典型的な Web アプリケーションが MVC を使用する非常に単純なシナリオです。