【发布时间】:2013-03-05 20:26:38
【问题描述】:
我正在编写一个由 gui 界面、客户端、服务器和数据库组成的应用程序。
但是,经过无数小时后,我仍然没有弄清楚如何组织这一切。
GUI 是由几个相当不同的挥杆组件构成的,所以我考虑为每个组件建立一个单独的模型。
目前信息流是这样的:
- 用户在 GUI 中插入一些信息。
- GUI 通过给控制器一个事件告诉控制器发生了什么事。
- 控制器将事件发送到服务器
- 服务器评估事件并将适当的查询发送到数据库。
- 然后将来自 DB 的结果附加到事件中,并发送回客户端。
- 控制器获取事件并使用新信息更新适当的模型
- 然后模型更新相应的视图。
可能的情况是用户通过 GUI 搜索条目并返回结果。
这种架构听起来是否合理?
所有不同的视图都应该有自己的模型吗?如果是,他们是否也应该有自己的控制器?如果没有,那是什么?
我考虑将整个模型发送到服务器,让服务器处理模型中的信息,然后将其发送回客户端。当客户端接收到它时,控制器确保新模型信息被附加到视图中。此解决方案消除了对单独事件类的需求,但这样做似乎不正确。
我想我要问的是按照 MVC 模式组织服务器/客户端/数据库应用程序的最佳方式是什么?
【问题讨论】:
标签: java model-view-controller client-server