ホームページ >バックエンド開発 >PHPチュートリアル >MVC デザイン パターンとは何ですか?
モデル ビュー コントローラーは MVC と呼ばれ、モデル ビュー コントローラーです。 MVC デザイン パターンは、アプリケーションがデータ モデル、プレゼンテーション情報、および制御情報で構成されることを指定します。このパターンでは、各パターンを個別のオブジェクトに分離する必要があります。
MVC はアーキテクチャ パターンに似ていますが、完全なアプリケーションには適していません。 MVC は主にアプリケーションの UI インタラクション層に関係します。ビジネス ロジック層と、おそらくいくつかのサービス層とデータ アクセス層がまだ必要です。
モデル (モデル) には純粋なアプリケーション データのみが含まれており、データをユーザーに提示する方法を説明するロジックは含まれていません。
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 サイトの他の関連記事を参照してください。