MVC更像是一种架构形式,但并不适用于完全的应用程序。MVC主要与应用程序的UI 交互层有关。你依然须要营业逻辑层,能够还须要一些效劳层和数据接见层。
该模子(Model)只包括纯应用程序数据,不包括形貌怎样将数据显现给用户的逻辑。
视图(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设想形式?的细致内容,更多请关注ki4网别的相干文章!