本文的目的是开发一款基于Springboot的社区论坛系统,根据第三章的系统需求分析,该系统的功能需求包括实现对社区普通用户进行帖子交流以及问答建议并实现社区管理员的对用户、帖子、问答等系统相关的管理功能;而在性能方面,需要实现简约快捷的软件风格,同时应该在代码编写过程中实现界面与逻辑的分类,同时具有一定的低耦合性以及可扩展性。因此本文采取了一种Spring MVC的设计模型,下面将结合本系统对该设计模型进行详细的介绍。
MVC模式即模型(Model)-视图(View)-控制器(Controller),是一种能够应用于程序分层开发的一种设计思想,其结构如
图4-1 MVC模式结构
其中,模型是应用于程序中进行处理数据逻辑的部分,模型对象通常负责与数据库的交互,将数据进行读取以及持久化处理,即模型对象是数据的管理者,因为数据需要从服务器上获取,或者从用户在界面中的输如进行获取;同时通过计算、用户输入以及等多方面的获取的数据要保存至数据库中,即持久化处理,这些操作都是由模型层完成的。
其次,视图(View)是将程序中的处理结果通过可视化的方式进行展示,简单来说,视图即是界面中被用户看到的一切。视图层的作用包括两个方面,即首先将系统的计算结果通过界面的方式展示给用户,其次是提供一些输入框以及按钮等工具,将用户指令与输入的数据传递到控制层。其中,视图层与控制层之间采用了策略模式,而视图层与模型层之间则采用了观察者模式,如果要对视图层下的响应事件进行更改,那么则只需要将视图控件下绑定的响应事件进行替换即可。
最后,控制层(Controller)则是软件中最为重要的部分,因为其完成了程序中处理用户事件的逻辑部分。控制层作为MVC框架中协调模型层与数据层的重要部分,他负责了从控制层将模型层中的数据赋值给视图层的对应控件进行展示,同时负责接受视图层中用户在控件中执行的操作(按钮、输入框)等并将其进行处理后传递给模型层,以便进行数据持久化处理。