JavaでMVCアーキテクチャを実装する方法は?

JavaでのMVCアーキテクチャに関するこの記事は、MVCデザインパターンとは何か、そしてそれがWebアプリケーションの設計をどのように容易にするかを理解するのに役立ちます。

Web開発フィールドで、Model-View-Controller最も話題になっているものの1つです 今日のWebプログラミングの世界で。 MVCアーキテクチャは当初、StrutsとStrutsの2つの主要なWeb開発フレームワークに含まれていました。 Ruby on Rails 。この記事では、MVCアーキテクチャについて少し調べてみましょう。 。

この記事で取り上げるトピックは次のとおりです。





実際にgする前にMVCアーキテクチャの技術については、知っておく必要のある特定の概念があります。

配列ソートc ++
  • デザインパターン 、ソフトウェアエンジニアリングでは、ソフトウェアを設計するときに一般的に発生する問題を解決するための手法です。
  • モデルの設計、 問題の解決またはモデルの設計に使用するアーキテクチャのタイプを指定します。
  • 二つあります デザインモデルの種類 モデル1アーキテクチャモデル2(MVC)アーキテクチャ。

JavaのMVCアーキテクチャとは何ですか?

MVCアーキテクチャに基づくモデル設計はMVCに従います また、ソフトウェアを設計するときに、アプリケーションロジックをユーザーインターフェイスから分離します。名前が示すように、MVCパターンには次の3つのレイヤーがあります。



  • モデル –アプリケーションのビジネス層を表します
  • 見る –アプリケーションのプレゼンテーションを定義します
  • コントローラ –アプリケーションのフローを管理します

MVC-JavaのMVCアーキテクチャ-Edureka

Javaプログラミングのコンテキストでは、モデルはシンプルで構成されています Javaクラス 、ビューにはデータが表示され、コントローラーはで構成されます 。この分離により、ユーザー要求は次のように処理されます。



  1. クライアントのブラウザーは、サーバーに存在するコントローラーにページの要求を送信します
  2. コントローラーはモデルを呼び出すアクションを実行し、それによって要求に応じて必要なデータを取得します
  3. 次に、コントローラーは取得したデータをビューに渡します
  4. ビューがレンダリングされ、ブラウザが表示できるようにクライアントに送り返されます

ソフトウェアアプリケーションをに分離するこれらの3つの異なるコンポーネントは、いくつかの理由から良い考えです。それらが何であるかを見てみましょう。

JavaでのMVCアーキテクチャの利点

MVCアーキテクチャは、アプリケーションを開発するときにプログラマーに多くの利点を提供します。これには次のものが含まれます。

  • 複数の開発者が3つのレイヤー(モデル、ビュー、コントローラー)を同時に操作できます
  • 改善されたオファー スケーラビリティ 、アプリケーションの成長能力を補完します
  • コンポーネントは相互依存性が低いため、保守が容易です。
  • モデルは、コードの再利用性を提供する複数のビューで再利用できます
  • MVCの採用により、アプリケーションがより表現力豊かで理解しやすくなります
  • アプリケーションの拡張とテストが簡単になります

これで、MVCが最も人気がある理由がわかりました Webプログラミングの世界で。ただし、MVCの概念を理解するのにまだ苦労している場合でも、心配する必要はありません。これらの各レイヤーを深く掘り下げ、の助けを借りてそれらの目的を学びます 。

Javaを使用したMVCの実装

MVCデザインパターンに基づいてWebアプリケーションを実装するために、

  • コースクラス 、として機能します モデルレイヤー
  • CourseViewクラス 、プレゼンテーション層を定義します( ビューレイヤー
  • CourseContollerクラス 、として機能します コントローラ

それでは、これらのレイヤーを1つずつ見ていきましょう。

モデルレイヤー

MVCデザインパターンでは、 モデル システムのビジネスロジックを定義し、アプリケーションの状態を表すデータレイヤーです。モデル オブジェクト モデルの状態を取得してデータベースに保存します。このレイヤーを通じて、データにルールを適用します。これは、最終的にアプリケーションが管理する概念を表します。それでは、を使用してモデルを作成しましょう コースクラス。

パッケージMyPackagepublic class Course {private String CourseName private String CourseId private String CourseCategory public String getId(){return CourseId} public void setId(String id){this.CourseId = id} public String getName(){return CourseName} public void setName (文字列名){this.CourseName = name} public String getCategory(){return CourseCategory} public void setCategory(String category){this.CourseCategory = category}}

コードは理解しやすく、自明です。コースの詳細を取得/設定する機能で構成されています。

ビューレイヤー

MVCデザインパターンのこのレイヤーは、アプリケーションまたはユーザーインターフェイスの出力を表します。これは、コントローラーによってモデルレイヤーからフェッチされたデータを表示し、要求されたときにユーザーにデータを提示します。私tは、コントローラーから必要なすべての情報を受け取り、ビジネスレイヤーと直接対話する必要はありません。を使用してビューを作成しましょう CourseViewクラス。

パッケージMyPackagepublic class CourseView {public void printCourseDetails(String CourseName、String CourseId、String CourseCategory){System.out.println( 'Course Details:')System.out.println( 'Name:' + CourseName)System.out.println ( 'コースID:' + CourseId)System.out.println( 'コースカテゴリ:' + CourseCategory)}}

このコードは単に値をコンソールに出力するだけです。次は、Webアプリケーションのコントローラーです。

SQLサーバーでピボットおよびピボット解除

コントローラレイヤー

コントローラは、モデルとビューの間のインターフェイスのようなものです。ビューレイヤーからユーザーリクエストを受け取り、必要な検証を含めてそれらを処理します。次に、リクエストはデータ処理のためにモデルに送信されます。それらが処理されると、データは再びコントローラーに送り返され、ビューに表示されます。作成しましょう CourseContollerクラス これはコントローラーとして機能します。

パッケージMyPackagepublic class CourseController {private Course model private CourseView view public CourseController(Course model、CourseView view){this.model = model this.view = view} public void setCourseName(String name){model.setName(name)} public String getCourseName(){return model.getName()} public void setCourseId(String id){model.setId(id)} public String getCourseId(){return model.getId()} public void setCourseCategory(String category){model.setCategory (category)} public String getCourseCategory(){return model.getCategory()} public void updateView(){view.printCourseDetails(model.getName()、model.getId()、model.getCategory())}}

コードをざっと見ると、このコントローラークラスは、モデルを呼び出してデータを取得/設定し、それに基づいてビューを更新するだけであることがわかります。さあ、これらすべてがどのように結びついているかを見てください。

メインJavaクラス

このクラスを「MVCPatternDemo.java」と呼びましょう。以下のコードを確認してください。

package MyPackage public class MVCPatternDemo {public static void main(String [] args){//データベースからのロール番号に基づいて学生レコードをフェッチしますCourse model = retriveCourseFromDatabase()//ビューを作成します:コンソールにコースの詳細を書き込みますCourseViewビュー= new CourseView()CourseController controller = new CourseController(model、view)controller.updateView()//モデルデータを更新controller.setCourseName( 'Python')System.out.println( 'n更新後、コースの詳細は次のとおりです') controller.updateView()} private static Course retriveCourseFromDatabase(){Coursecourse = new Course()course.setName( 'Java')course.setId( '01')course.setCategory( 'Programming')returncourse}}

上記のクラスからコースデータを取得します どのユーザーが値のセットを入力するかを使用します。次に、それらの値をコースモデルにプッシュします。次に、記事の前半で作成したビューを初期化します。さらに、それはまた呼び出します CourseController クラスとそれをにバインドします コース クラスと CourseView クラス。ザ・ updateView() コントローラの一部であるメソッドは、コンソールでコースの詳細を更新します。以下の出力を確認してください。

出力

対はJavaを持っています
コース詳細:名前:JavaコースID:01コースカテゴリ:プログラミング更新後、コース詳細は次のとおりです。コース詳細:名前:PythonコースID:01コースカテゴリ:プログラミング

MVCアーキテクチャコードにまったく新しいレベルのモジュール性を提供し、コードをより読みやすく、保守しやすくします。これで、この記事は終わりです。あなたがあなたと共有されたすべてのものを明確にしたことを願っています。

できるだけ練習し、経験を元に戻してください。

チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。私たちはあなたの旅のすべてのステップであなたを助けるためにここにいます、私たちはJava開発者になりたい学生と専門家のために設計されたカリキュラムを考え出します。

質問がありますか?この「JavaのMVCアーキテクチャ」のコメントセクションで言及してください 記事と私たちはできるだけ早くあなたに返信します。