初期架构设计
在完成需求分析后,我们对于整个项目进行了整体架构设计。在这个过程中我们分别分析了管道/过滤器风格、C/S风格、MVC设计模式这三个不同的软件体系结构风格。并结合我们的项目确定了最适合我们项目的整体架构。
(1) 首先我们想到的是管道/过滤器风格,然后明确了一下管道/过滤器的具体含义:每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。最后我们结合我们自己的项目分析,因为我们想将有关操作的数据都放在服务器端,又想整个体系结构有个良好的层次,所以进过分析我们认为管道/过滤器的体系结构风格不适合我们的要求。于是我们想到了C/S风格。
(2) 对于C/S风格我们首先明确了一下C/S的具体含义:C/S软件体系结构是基于资源不对等,C/S体系结构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上,C/S体系结构有三个主要组成部分:数据库服务器、客户应用程序和网络。进而进行分析,由于我们的目标是有一个层次清晰的体系结构风格,所以我们认为C/S风格也不是最优选择。然后我们想到用MVC模式,在MVC模式中再利用C/S风格,将两种风格进行结合设计我们自己的软件体系结构风格。
(3) MVC模式(Model View Controller)是属于分层架构风格中的一种软件设计模式。MVC是一种使用模型-视图-控制器思想的一种设计模式。M是指Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,V是指View(视图)是应用程序中处理数据显示的部分,Controller(控制器)是应用程序中处理用户交互的部分,这样的设计模式是恰恰是分层思想。MVC 分层有助于管理复杂的应用程序,可以在一个时间内我们可以专门关注一个方面,同时也让应用程序的测试更加容易。根据MVC模式分层的特点我们认为这种风格是符合我们项目的最优选择。
终期架构设计
进过初期的架构设计我们决定选择基于分层软件体系结构风格的MVC设计模式。即整体的架构分为三层,如下图所示:
(1) 显示层用来与用户进行交互
(2) 控制层用来控制底层的数据之间以及与显示层之间的交互
(3) 数据逻辑层用来控制数据