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