21xrx.com
2024-09-17 04:27:19 Tuesday
登录
文章检索 我的文章 写文章
开发中常用的MVC设计模式
2023-06-15 00:30:22 深夜i     --     --
Java软件开发 MVC设计模式 POJO

在Java软件开发中,有一种常见的设计模式被广泛应用,即MVC设计模式。MVC(Model-View-Controller,模型-视图-控制器)是一种软件架构模式,通过将应用程序分成三个部分来实现分层结构:模型层(Model)、视图层(View)和控制器层(Controller)。MVC设计模式可以使程序更加清晰、易于维护和扩展。

模型部分(Model):指的是应用程序中用于保存数据的部分。它包括数据表、数据对象或其他存储数据的结构。在Java中,我们可以使用POJO(Plain Old Java Objects)来表示模型部分。这些类用于描述应用程序中的数据。

视图部分(View):指的是应用程序中的用户界面。它包括与用户交互的所有元素,如按钮、文本框、标签等。在Java中,我们可以使用Swing或JavaFX等用户界面库来构建视图部分。

控制器部分(Controller):指的是应用程序中用于控制模型和视图部分的代码。控制器接收用户输入并处理结果,对模型进行修改并在视图中显示结果。在Java中,我们可以使用Servlet或Spring等框架来编写控制器部分的代码。

下面是一个简单的使用MVC设计模式的Java代码案例。这个例子是一个简单的计算器应用程序,用户可以输入两个数字和运算符,然后程序输出结果。这个例子中,模型部分保存输入的数据和输出的数据,视图部分提供用户界面,控制器部分接收用户输入并计算结果。


//模型部分

public class CalculatorModel {

 private int firstNumber;

 private int secondNumber;

 private int result;

 

 public void setFirstNumber(int firstNumber)

  this.firstNumber = firstNumber;

 

 

 public void setSecondNumber(int secondNumber)

  this.secondNumber = secondNumber;

 

 

 public void setResult(int result)

  this.result = result;

 

 

 public int getFirstNumber()

  return firstNumber;

 

 

 public int getSecondNumber()

  return secondNumber;

 

 

 public int getResult()

  return result;

 

}

//视图部分

public class CalculatorView {

 private JTextField firstNumber = new JTextField(5);

 private JLabel operator = new JLabel("+");

 private JTextField secondNumber = new JTextField(5);

 private JButton calculateButton = new JButton("=");

 private JTextField result = new JTextField(5);

 

 public CalculatorView() {

  JPanel panel = new JPanel();

  panel.add(firstNumber);

  panel.add(operator);

  panel.add(secondNumber);

  panel.add(calculateButton);

  panel.add(result);

  JFrame frame = new JFrame();

  frame.add(panel);

  frame.pack();

  frame.setVisible(true);

 }

 

 public int getFirstNumber() {

  return Integer.parseInt(firstNumber.getText());

 }

 

 public int getSecondNumber() {

  return Integer.parseInt(secondNumber.getText());

 }

 

 public void setResult(int result) {

  this.result.setText("" + result);

 }

 

 public void addCalculateListener(ActionListener listenForCalcButton) {

  calculateButton.addActionListener(listenForCalcButton);

 }

}

//控制器部分

public class CalculatorController implements ActionListener {

 private CalculatorModel model;

 private CalculatorView view;

 

 public CalculatorController(CalculatorModel model, CalculatorView view) {

  this.model = model;

  this.view = view;

  this.view.addCalculateListener(this);

 }

 

 public void actionPerformed(ActionEvent e) {

  int firstNumber = view.getFirstNumber();

  int secondNumber = view.getSecondNumber();

  String operator = view.getOperator();

  int result = 0;

  if(operator.equals("+")) {

   result = firstNumber + secondNumber;

  } else if(operator.equals("-"))

   result = firstNumber - secondNumber;

   else if(operator.equals("*")) {

   result = firstNumber * secondNumber;

  } else if(operator.equals("/"))

   result = firstNumber / secondNumber;

  

  model.setFirstNumber(firstNumber);

  model.setSecondNumber(secondNumber);

  model.setResult(result);

  view.setResult(result);

 }

}

//主程序

public class Main {

 public static void main(String[] args) {

  CalculatorModel model = new CalculatorModel();

  CalculatorView view = new CalculatorView();

  CalculatorController controller = new CalculatorController(model, view);

 }

}

通过上面的代码案例,我们可以看到使用MVC设计模式的程序结构更加清晰,模型、视图、控制器三个部分的职责分明。在实际开发中,MVC设计模式可以使程序更加易于维护和扩展,提高开发效率,降低开发成本。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复