java 中的 MVC 概念

MVC Conception in java

我需要制作一个使用 MVC 模型的 java 应用程序(我不会使用控制器以避免事情变得复杂)。

正如您在下面的 class 图中看到的那样,我有 2 个包,但是当我尝试在模型和视图之间进行交互时遇到了一些问题。

model.Main由model.Files组成,model.Files由ConfigFile、DivaConnector和FilesUploader组成。 你能帮忙在这些 class 之间建立正确的链接吗?

控制器允许在模型和视图之间进行通信。因此,您将 main class 作为启动器放在 extern 包中,并使用模型和视图作为参数实例化控制器。您的主控制器可以实例化每个视图特定的一些控制器。

class Main
{
 public static void main(String args[]) throws IOException
 {
  Model model = new Model();
  View view = new View();
  Controller controller = new Controller(view, model);
 }
}

编辑: 这里是主控制器的示例,在每个特定的控制器构建器中,您将放置一些侦听器(按钮、表格视图、文本字段...),因为您同时拥有模型和视图,您可以根据模型更改图表元素。

package Controller;

import Model.Data;
import View.Frame;

public class Controller{
 private Frame frame;
 private Data data;
  
 //controller
 private GraphCtrl graphCtrl;
 private MenuCtrl menuCtrl;
 private EditCtrl editCtrl;
 private TableCtrl tableCtrl;
  
 //builder
 public Controller(Frame frame, Data data){
  this.frame=frame;
  this.data=data;
  build();
 }
 public void build(){
  graphCtrl = new GraphCtrl(frame.getPanelG(), data);
  menuCtrl = new MenuCtrl(frame, data);
  editCtrl = new EditCtrl(frame.getPanelS().getPanelEdit(), frame.getPanelG(), data);
  tableCtrl = new TableCtrl(frame.getPanelS().getPanelTable(), frame.getPanelG(), data);
 }
}