Java MVC基本概念(3类系统?)
我很难理解模型-视图-控制器的概念 据我所知,这个模型的目的是将整个系统分为3个部分。一部分负责数据、行为和数据,一部分负责UI,另一部分负责两者之间的交互 但我的问题是:如何从大型项目的概念到实施 我的老师有一个UML类模型,其中只有3个类,但是整个系统的行为怎么可能是一个类呢 模型类更像是所有模型都必须实现的接口吗 为什么这个问题不同:我知道当你有一个类来做你所有的东西(比如计算器)时模型是如何工作的,但是如果我需要一个以上的类来完成一个更复杂的系统呢Java MVC基本概念(3类系统?),java,model-view-controller,Java,Model View Controller,我很难理解模型-视图-控制器的概念 据我所知,这个模型的目的是将整个系统分为3个部分。一部分负责数据、行为和数据,一部分负责UI,另一部分负责两者之间的交互 但我的问题是:如何从大型项目的概念到实施 我的老师有一个UML类模型,其中只有3个类,但是整个系统的行为怎么可能是一个类呢 模型类更像是所有模型都必须实现的接口吗 为什么这个问题不同:我知道当你有一个类来做你所有的东西(比如计算器)时模型是如何工作的,但是如果我需要一个以上的类来完成一个更复杂的系统呢 希望你们明白我的问题MVC是一种复合模
希望你们明白我的问题MVC是一种复合模式,即它由三种其他设计模式组成:
此外,您还可以用谷歌搜索短语:MVC作为计算机模式。模型表示应用程序中实现逻辑、管理数据和定义应用程序行为的部分。该模型对以下问题作出了回应:
- 视图信息请求更新它的状态
- 从控制器更改状态的说明李>
case "List":
view.show("" + model.getAll());
break;
case "Add":
String input = view.get("title");
String input1 = view.get("artist");
String track1 = view.get("Track title");
String track2 = view.get("Track artist");
if (input == null) return;
String msg= "";
view.show(msg);
CdTrack cdTrack = new CdTrack(track1, track2, new Time(0,0,0));
CdTrack[] cdsTrack = {cdTrack};
model.addCd(new Cd(input,input1,cdsTrack));
view.show(msg);
break;
@Override
public void actionPerformed(ActionEvent e)
{
if(((JButton) e.getSource()).getText().startsWith("List"))
controller.execute("List");
if(((JButton) e.getSource()).getText().startsWith("Add"))
controller.execute("Add");
}
视图类应将请求传递给控制器。例如:
case "List":
view.show("" + model.getAll());
break;
case "Add":
String input = view.get("title");
String input1 = view.get("artist");
String track1 = view.get("Track title");
String track2 = view.get("Track artist");
if (input == null) return;
String msg= "";
view.show(msg);
CdTrack cdTrack = new CdTrack(track1, track2, new Time(0,0,0));
CdTrack[] cdsTrack = {cdTrack};
model.addCd(new Cd(input,input1,cdsTrack));
view.show(msg);
break;
@Override
public void actionPerformed(ActionEvent e)
{
if(((JButton) e.getSource()).getText().startsWith("List"))
controller.execute("List");
if(((JButton) e.getSource()).getText().startsWith("Add"))
controller.execute("Add");
}
我不确定我们是否这样做,尤其是这句话:
我的老师有一个UML类模型,其中只有3个类,但是整个系统的行为怎么可能是一个类呢?
,你能详细说明一下吗?事实上,我喜欢把MVC看作中介模式的一个具体实例:控制器在视图和模型之间进行中介,但是你所说的“表示部件”是什么意思呢。模型是一个类还是一个接口或多个类的模块?我的意思是“表示部分”(模型实现了应用程序的逻辑)。通常,您会有一个类实现一个接口,该接口包含应用程序的所有方法。例如,如果您想在模型类中实现CRUD操作,这些方法将在模型类稍后实现的接口中声明。