客户端服务器 MVC 架构

Client Server MVC Architecture

我希望获得有关在客户端服务器应用程序中使用 MVC 设计模式的一些意见。我看到一些关于这个的帖子说通常有很多方法可以实现 MVC 和客户端服务器,所以我想知道我实现我的方式是 acceptable/logical 还是不是:

服务器CLASS (控制器)------------> JDBC CLASS(模型)----------------> 数据库

|
|
V 

GUI CLASSES (查看)

(抱歉,糟糕的插图。GUI class 与服务器来回交互,服务器与 JDBC 来回交互,JDBC 与服务器交互与数据库)。 classes之间没有其他通信。)

服务器,JDBC 和数据库都是服务器端,GUI classes 是客户端。目前,每次在客户端需要通过用户交互进行交易时,都会建立套接字连接以连接到发送对象的服务器。然后服务器将获取对象并根据其参数调用 JDBC class 中的相关方法,然后将结果传回服务器 class,然后服务器将传递一个对象返回到 GUI class,然后更新其视图。

此外,我的控制器没有在其构造函数中创建的视图实例和模型实例。一个 GUI class 会在需要新框架时简单地调用另一个 GUI,并根据从控制器返回的响应更新自身(我经常看到模型应该更新视图,但在我的例子中模型与 controller/server class 交互,然后后者通过套接字与 GUI classes 通信,然后 GUI classes 相应地更新自己)。

我主要关心的是这是否是可接受的 MVC 架构,以及是否可以让服务器 class 充当模型和视图之间的控制器。

谢谢。

太好了,您正在通过控制器将模型传递给视图。我有一个建议,我希望你不要把所有的业务逻辑都放在控制器中,在控制器和模型层之间有一个应用程序服务层,它将处理来自不同模型的数据网格和 return 数据到控制器,控制器将return 该对象返回查看。您可以从控制器调用 returned 对象作为 DTO(数据转换对象)。确保你的控制器非常薄,只是为了控制应用程序 service/model 层和视图之间的调用。