ホームページ  >  記事  >  バックエンド開発  >  MVC デザイン パターンとは何ですか?

MVC デザイン パターンとは何ですか?

藏色散人
藏色散人オリジナル
2019-04-16 13:19:409435ブラウズ


モデル ビュー コントローラーMVC と呼ばれ、モデル ビュー コントローラーです。 MVC デザイン パターンは、アプリケーションがデータ モデル、プレゼンテーション情報、および制御情報で構成されることを指定します。このパターンでは、各パターンを個別のオブジェクトに分離する必要があります。

MVC はアーキテクチャ パターンに似ていますが、完全なアプリケーションには適していません。 MVC は主にアプリケーションの UI インタラクション層に関係します。ビジネス ロジック層と、おそらくいくつかのサービス層とデータ アクセス層がまだ必要です。

MVC デザイン パターンとは何ですか?

モデル (モデル) には純粋なアプリケーション データのみが含まれており、データをユーザーに提示する方法を説明するロジックは含まれていません。

View(ビュー)モデル データをユーザーに表示します。ビューはモデルのデータにアクセスする方法を知っていますが、そのデータが何を意味するのか、ユーザーがそれを操作するために何ができるのかはわかりません。

Controller(コントローラー)ビューとモデルの間に存在します。ビュー (または他の外部ソース) によってトリガーされたイベントをリッスンし、これらのイベントに対して適切な応答を実行します。ほとんどの場合、応答はモデルのメソッドを呼び出すことです。ビューとモデルは通知メカニズムを通じて接続されているため、この操作の結果は自動的にビューに反映されます。

MVC デザイン パターン の例を見てみましょう。

class Student  
{ 
    private String rollNo; 
    private String name; 
     
    public String getRollNo()  
    { 
        return rollNo; 
    } 
     
    public void setRollNo(String rollNo)  
    { 
        this.rollNo = rollNo; 
    } 
     
    public String getName()  
    { 
        return name; 
    } 
     
    public void setName(String name)  
    { 
        this.name = name; 
    } 
} 
  
class StudentView  
{ 
    public void printStudentDetails(String studentName, String studentRollNo) 
    { 
        System.out.println("学生: "); 
        System.out.println("姓名: " + studentName); 
        System.out.println("编号: " + studentRollNo); 
    } 
} 
  
class StudentController  
{ 
    private Student model; 
    private StudentView view; 
  
    public StudentController(Student model, StudentView view) 
    { 
        this.model = model; 
        this.view = view; 
    } 
  
    public void setStudentName(String name) 
    { 
        model.setName(name);         
    } 
  
    public String getStudentName() 
    { 
        return model.getName();         
    } 
  
    public void setStudentRollNo(String rollNo) 
    { 
        model.setRollNo(rollNo);         
    } 
  
    public String getStudentRollNo() 
    { 
        return model.getRollNo();         
    } 
  
    public void updateView() 
    {                 
        view.printStudentDetails(model.getName(), model.getRollNo()); 
    }     
} 
  
class MVCPattern  
{ 
    public static void main(String[] args)  
    { 
        Student model  = retriveStudentFromDatabase(); 
  
        StudentView view = new StudentView(); 
  
        StudentController controller = new StudentController(model, view); 
  
        controller.updateView(); 
  
        controller.setStudentName("Vikram Sharma"); 
  
        controller.updateView(); 
    } 
  
    private static Student retriveStudentFromDatabase() 
    { 
        Student student = new Student(); 
        student.setName("Lokesh Sharma"); 
        student.setRollNo("15UCS157"); 
        return student; 
    } 
      
}

出力:

学生: 
姓名: Lokesh Sharma
编号: 15UCS157
学生: 
姓名: Vikram Sharma
编号: 15UCS157

利点

• 複数の開発者がモデル、コントローラー、ビューを同時に作業できます。

• MVC は、コントローラー上の関連する操作の論理グループ化をサポートします。特定のモデルのビューもグループ化されます。

• モデルには複数のビューを持つことができます。

欠点

• フレーム ナビゲーションは、新しい抽象化レイヤーを導入し、ユーザーが MVC の分解標準に適応する必要があるため、複雑になる場合があります。

• 複数のテクノロジーの知識が標準になります。 MVC を使用する開発者は、複数のテクノロジーに習熟している必要があります



以上がMVC デザイン パターンとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。