zoukankan      html  css  js  c++  java
  • MVC模式

    描述

    MVC模式,熟悉java的web开源框架springMVC的人对这个模式肯定不陌生,顾名思义,M:model(模型),V:view(视图),C:controller(控制器),这是一种按照逻辑对程序进行分层的思想。把对model的定义、操作和展示完美的分开,这样能清晰的分离开不同的业务逻辑层次。

    实例

    假设我们有一个学生(student)类,现在要对学生类进行改写和展示,那么我们就可以用MVC模式实现这个需求

    //M-model
    public 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;
       }
    }
    
    //V-view
    public class StudentView {
       public void printStudentDetails(String studentName, String studentRollNo){
          System.out.println("Student: ");
          System.out.println("Name: " + studentName);
          System.out.println("Roll No: " + studentRollNo);
       }
    }
    
    //C-controller
    public 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());
       }    
    }
    
    public class MVCPatternDemo {
       public static void main(String[] args) {
    
          //从数据可获取学生记录
          Student model  = retriveStudentFromDatabase();
    
          //创建一个视图:把学生详细信息输出到控制台
          StudentView view = new StudentView();
    
          StudentController controller = new StudentController(model, view);
    
          controller.updateView();
    
          //更新模型数据
          controller.setStudentName("John");
    
          controller.updateView();
       }
    
       private static Student retriveStudentFromDatabase(){
          Student student = new Student();
          student.setName("Robert");
          student.setRollNo("10");
          return student;
       }
    }
    
    //输出结果:
    Student: 
    Name: Robert
    Roll No: 10
    Student: 
    Name: John
    Roll No: 10
    

      

    代码来源: 特别感谢 菜鸟教程java设计模式之MVC模式

  • 相关阅读:
    ios app 开发中ipa重新签名步骤介绍-备
    推荐IOS开发3个工具:Homebrew、TestFight、Crashlytics-b
    iOS开发工具——统计Crash的工具Crashlytics-备用
    摘要算法
    Xcode中将图片放入Images.xcassets和直接拖入的区别
    PHP面向对象的基本写法(区别于java)
    PHP 解决时差8小时的问题
    Java-Hirbernate小结大纲
    PHP替换数据库的换行符
    Java-strurs总结
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7985815.html
Copyright © 2011-2022 走看看