将Java代码转换为模型-视图-控制器体系结构模式
我用java编写了一些代码,给出了一些数字1到10,然后还显示了平均值。我想将此更改为模型-视图-控制器方法(这是导师想要的)。我们只有一节课,我真的不明白如何改变它。如果有人能经历这一切,并告诉我如何(好像他们试图教一个5岁的孩子)那将是伟大的将Java代码转换为模型-视图-控制器体系结构模式,java,view,model,controller,software-design,Java,View,Model,Controller,Software Design,我用java编写了一些代码,给出了一些数字1到10,然后还显示了平均值。我想将此更改为模型-视图-控制器方法(这是导师想要的)。我们只有一节课,我真的不明白如何改变它。如果有人能经历这一切,并告诉我如何(好像他们试图教一个5岁的孩子)那将是伟大的 //JAVA CODE public class Ex4 { public static void main(String[] args) { int sum = 0; int average = 0;
//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);
}
}
//JAVA代码
公共类Ex4{
公共静态void main(字符串[]args){
整数和=0;
整数平均=0;
对于(int i=1;i<10;i++){
sum=sum+i;
平均值=总和/i;
}
System.out.println(“总和为”+总和);
System.out.println(“平均值为”+平均值);
}
}
作为(非常)粗略的指南:
模型:存储数据。在这种情况下,总和和平均值
视图:显示数据。在这种情况下,使用System.out
写入数据。当模型更改时,更新显示(写出新值)
控制器:操纵数据。在本例中,获取一个整数数组,计算求和和和平均值,并将结果提供给模型
所以总的来说,控制器计算总和和平均值,将这些值提供给模型。通知视图模型已更改。视图显示模型的值。作为(非常)粗略的指南:
模型:存储数据。在这种情况下,总和和平均值
视图:显示数据。在这种情况下,使用System.out
写入数据。当模型更改时,更新显示(写出新值)
控制器:操纵数据。在本例中,获取一个整数数组,计算求和和和平均值,并将结果提供给模型
所以总的来说,控制器计算总和和平均值,将这些值提供给模型。通知视图模型已更改。视图显示模型的值。创建3个类:
比如说Ex4Model
,其中只有两个成员变量,分别称为sum
和average
,以及相应的get
和set
方法。这将保存您的数据
然后我们可以创建视图,比如说Ex4View
,它有一个名为render(Ex4Model model model)
的方法,可以从模型中输出所需的内容,在您的例子中是sum
和average
然后您可以创建控制器,Ex4Controller
,它有一个方法calculate()
。在它内部,它执行计算并将它们提供给模型(在这个简单的示例中,您可以创建它的新实例),然后在视图上调用render()
剩下的就交给你们了,这是你们的家庭作业 创建3个类:
比如说Ex4Model
,其中只有两个成员变量,分别称为sum
和average
,以及相应的get
和set
方法。这将保存您的数据
然后我们可以创建视图,比如说Ex4View
,它有一个名为render(Ex4Model model model)
的方法,可以从模型中输出所需的内容,在您的例子中是sum
和average
然后您可以创建控制器,Ex4Controller
,它有一个方法calculate()
。在它内部,它执行计算并将它们提供给模型(在这个简单的示例中,您可以创建它的新实例),然后在视图上调用render()
剩下的就交给你们了,这是你们的家庭作业 MVC是一种基本模式,您可以将模型(数据)、视图(显示)和控制器(逻辑)分离到不同的文件和目录中 以下是此模型的图示: 下面是一个示例,说明了在当前代码中可能出现的情况: 控制器类(包括主方法): 此类用于保存数据。这里没有逻辑。这是用于存储数据的基本数据结构。此类不与视图接口 这是您的视图类:
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);
}
}
这不是一个真实的观点,但考虑到具体情况,这是最好的证明。使用Java,您可以将swing文件放在这里。这些文件的任务是显示数据。您会注意到控制器将所有数据传递给这个类,而不是从模型访问数据
这将输出到控制台:
总数是45
平均值为5.0
MVC需要记住的是,您可以有多个控制器、模型和视图。这是一个非常简单的例子。通过使用MVC,开发人员和程序员能够更好地组织数据。他们知道一切都在哪里进行,而不是让视图在某个区域操作数据,而不是在其他区域
我希望这是有意义的。MVC是一种基本模式,您可以将模型(数据)、视图(显示)和控制器(逻辑)分离到不同的文件和目录中 以下是此模型的图示: 下面是一个示例,说明了在当前代码中可能出现的情况: 控制器类(包括主方法): 此类用于保存数据。这里没有逻辑。这是用于存储数据的基本数据结构。此类不与视图接口 这是您的视图类:
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);
}
}
这不是一个真实的观点,但考虑到具体情况,这是最好的证明。使用Java,您可以将swing文件放在这里。这些文件的任务是显示数据。您会注意到控制器将所有数据传递给这个类,而不是从模型访问数据
这将输出到控制台:
总数是45
平均值为5.0
MVC需要记住的是,您可以有多个控制器,m
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);
}
}