客户端服务器MVC架构

时间:2015-07-21 10:25:22

标签: user-interface model-view-controller client-server

我希望在客户端服务器应用程序中使用时获得有关MVC设计模式的一些输入。我已经看到了一些这方面的帖子,说通常有很多方法可以实现MVC和Client Server,所以我想知道我实现我的方式是否可接受/合乎逻辑:

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

|
|
V 

GUI CLASSES   (视图)

(抱歉可怕的插图.GUI类来回与服务器交互,服务器来回与JDBC交互,JDBC与数据库交互)。类之间没有其他通信。)

服务器,JDBC和数据库都是服务器端,GUI类是客户端。此时,每次通过客户端上的用户交互需要事务时,建立套接字连接以连接到通过其发送对象的服务器。然后服务器将获取该对象,并根据其参数从JDBC类调用相关方法,然后将结果传递回服务器类,然后服务器类将对象传递回GUI类,然后更新其视图。

此外,我的控制器没有视图实例和在其构造函数中创建的模型实例。当需要一个新帧时,一个GUI类将简单地调用另一个GUI类,并根据它从控制器返回的响应自行更新(我经常看到模型应该更新视图,但在我的情况下,模型会与控制器/服务器类,然后通过套接字与GUI类通信,然后GUI类相应地更新自己)。

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

感谢。

1 个答案:

答案 0 :(得分:1)

那是完美的,你通过模型来通过控制器查看。我有一个建议,我希望你没有把所有的业务逻辑放在控制器中,在控制器和模型层之间有一个应用服务层,它将从不同的模型进行数据网格化,并将数据返回给控制器,控制器将返回该对象查看。您可以从控制器调用返回的对象作为DTO(数据转换对象)。确保您的控制器非常薄,只是为了控制应用服务/模型层和视图之间的调用。