gpt4 book ai didi

java - 将 Java 代码转换为 Model View Controller 架构模式

转载 作者:行者123 更新时间:2023-12-01 18:16:16 24 4
gpt4 key购买 nike

我用java编写了一些代码来给出一些数字1到10,然后还显示平均值。我想将其更改为 Model View Controller 方法(这就是导师想要的)。我们只上了一节课,我真的不明白如何改变它。如果有人能经历这个并告诉我如何做(就像他们试图教一个 5 岁的 child 一样)那就太好了。

//JAVA CODE
public class Ex4 {

public static void main(String[] args) {
int sum = 0;
int average = 0;
for (int i=1; i < 10; i++){

sum = sum + i;
average = sum/i;

}
System.out.println("The sum is " + sum);
System.out.println("The average is " + average);

}
}

最佳答案

MVC 是一种基本模式,您可以将模型(数据)、 View (显示)和 Controller (逻辑)分离到不同的文件和目录中。

这是该模型的图示:

enter image description here

以下是当前代码的示例:

Controller 类(包含主方法):

public class Ex4Controller {
//You could create a second controller,
//and put the main method there,
//then create a controller object.
public static void main(String[] args) {

//Initialize model
Ex4Model number = new Ex4Model(0,0.0);

//Execute business logic
Ex4Controller.getSumAndAverage(number);

//Set view
Ex4View.printSum(number.sum, number.average);
}

//Logic method
private static void getSumAndAverage(Ex4Model numbers){

for (int i=1; i < 10; i++){
//Here the controller interfaces with
//the model
numbers.sum = numbers.sum + i;
numbers.average = numbers.sum/i;

}
}

}

Controller 类与模型 View 接口(interface)。此类是您执行所有流程并更新模型或 View 的地方。完成的任何逻辑都将在此类中完成。如果您想获得数字的平均值,您可以在此类中编写一个名为 getmean() 的方法。数据操作仅在此处完成。

这是模型类:

public class Ex4Model {

public int sum = 0;
public double average = 0;

//Custom constructor to set values
public Ex4Model(int sum, double average){
this.sum = sum;
this.average = average;
}

}

该类用于保存数据。这里没有做任何逻辑。这是用于存储数据的基本数据结构。该类不与 View 交互。

这是您的 View 类:

public class Ex4View {

public static void printSum(int sum, double average){
System.out.println("The sum is " + sum);
System.out.println("The average is " + average);
}
}

这不是真实的 View ,但这是考虑到情况的最佳演示。使用 Java,您可以将 swing 文件放在这里。这些文件的作用是显示数据。您会注意到 Controller 将所有数据传递给此类,而不是从模型访问数据。

这将输出到控制台:

The sum is 45

The average is 5.0

使用 MVC 时需要记住的一点是,您可以拥有多个 Controller 、模型和 View 。这是一个非常简单的例子。通过使用 MVC,开发人员和程序员能够更好地组织数据。他们知道一切都在哪里完成,而不是让 View 在某些区域操作数据,而不是在其他区域操作数据。

我希望这是有道理的。

关于java - 将 Java 代码转换为 Model View Controller 架构模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29325038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com