MVC 是一种基本模式,您可以将模型(数据)、视图(显示)和控制器(逻辑)分离到不同的文件和目录中。
这是该模型的说明:
以下是您当前代码的外观示例:
控制器类(包含 main 方法):
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;
}
}
}
控制器类与model 和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;
}
}
这个类用于保存数据。这里没有逻辑。这是用于存放数据的基本数据结构。此类不与视图交互。
这是你的视图类:
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,开发人员和程序员能够更好地组织数据。他们知道一切都在哪里完成,而不是让视图在某些区域操作数据,而不是在其他区域。
我希望这是有道理的。