Model View Controller est appelé MVC, c'est-à-dire Model View Controller. Le modèle de conception MVC spécifie qu'une application se compose d'un modèle de données, d'informations de présentation et d'informations de contrôle. Le modèle nécessite que chaque modèle soit séparé en objets distincts.
MVC ressemble davantage à un modèle architectural, mais il ne convient pas aux applications complètes. MVC concerne principalement la couche d’interaction UI de l’application. Vous avez toujours besoin d'une couche de logique métier et probablement de quelques couches de service et couches d'accès aux données.
Le Modèle contient uniquement des données d'application pures et ne contient pas de logique décrivant comment présenter les données à l'utilisateur.
Afficher Affiche les données du modèle à l'utilisateur. La vue sait comment accéder aux données du modèle, mais elle n'a aucune idée de ce que signifient ces données ni de ce que l'utilisateur peut faire pour les manipuler.
Contrôleur existe entre la vue et le modèle. Il écoute les événements déclenchés par les vues (ou d'autres sources externes) et exécute les réponses appropriées à ces événements. Dans la plupart des cas, la réponse consiste à appeler une méthode sur le modèle. Étant donné que la vue et le modèle sont connectés via le mécanisme de notification, les résultats de cette opération seront automatiquement reflétés dans la vue.
Regardons un exemple du modèle de conception 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; } }
Sortie :
学生: 姓名: Lokesh Sharma 编号: 15UCS157 学生: 姓名: Vikram Sharma 编号: 15UCS157
Avantages
• Plusieurs développeurs peuvent travailler simultanément sur des modèles, des contrôleurs et des vues.
• MVC prend en charge le regroupement logique des opérations associées sur le contrôleur. Les vues de modèles spécifiques sont également regroupées.
• Un modèle peut avoir plusieurs vues.
Inconvénients
• La navigation dans les cadres peut être complexe car elle introduit une nouvelle couche d'abstraction et oblige les utilisateurs à s'adapter aux normes de décomposition de MVC.
• La connaissance de plusieurs technologies devient la norme. Les développeurs utilisant MVC doivent maîtriser plusieurs technologies
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!