将Java代码转换为模型-视图-控制器体系结构模式

将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编写了一些代码,给出了一些数字1到10,然后还显示了平均值。我想将此更改为模型-视图-控制器方法(这是导师想要的)。我们只有一节课,我真的不明白如何改变它。如果有人能经历这一切,并告诉我如何(好像他们试图教一个5岁的孩子)那将是伟大的

//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);
    }
}