< 返回
基于MVC模式的Web图书销售系统的设计

在传统的web图书销售系统中,系统是通过完成一系列的web任务来实现的。而web任务的设计通常是以事件(input)驱动的用户界面为组织结构的。开发人员用界面工具画出用户接口界面,然后编写代码,根据用户输入去执行相应的动作处理(process),最后输出结果(output)。这样做的结果就是,程序组织围绕用户界面元素和用户在那些界面元素上的动作,数据的存储、应用的功能以及用来显示的代码都杂乱无章地缠绕在一起。对大型的web图书销售系统来说,这样的设计和编程思维必然影响了软件的可扩展性和可维护性,同时这样的方法也无法轻易地将相同的处理结果根据不同的需求以不同的方式显示给不同的用户。为此我们采用mvc模式技术来改变这种策略。

1 mvc技术工作原理

mvc模式是于20世纪70年代在small talk 80的gui设计中被提出的,它包括三个部分:模型(model)、视图(view)和控制器(controller),分别对应于内部数据、数据表示和输入输出控制部分。

模型是与问题相关数据的逻辑抽象,没有用户界面。视图是模型的外在表现,是模型信息的界面展示,一个模型可以对应一个或者多个视图。视图具有与外界交互的功能,是应用系统与外界的接口。控制器是模型与视图的联系纽带,控制器提取通过视图传输进来的外部信息,并将用户与视图的交互转换为基于应用程序行为的标准任务事件,再将标准任务事件解析为模型应执行的动作,包括激活任务逻辑或改变模型的状态。同时,模型的更新与修改也将通过控制器来通知视图,从而保持各个视图与模型的一致性。模型通过更新视图的数据来反映其自身数据的变化。三者关系如图1所示。

2 基于mvc技术的web任务模型

在web任务的设计中,我们可以将任务分成三个组成部分,即任务视图构件、任务控制构件和任务模型构件,如图2所示。

在web任务设计时,我们对传统的mvc设计模式进行了改造,将传统的mvc模式改造成mvc构件模式,即model构件、view构件和controller构件。取消了m-v之间的直接通信,而改由经过controller构件进行m-v之间的通信协作。

2.1 controller构件的功能

controller构件是基于mvc技术的web系统模型的中央控制枢纽,有web任务控制器和对象观察器两个部分组成。主要完成以下几点功能:

(1)对来自用户或其它部分的事件进行解析。

(2)调用web任务控制器选择适当的web业务模型对事件进行处理,并获得反馈信息。

(3)根据情况选择合适的视图模式并调用合适的视图解析器进行视图模式解析,将结果展示给用户。

2.2 view构件的功能

view构件主要用来完成对web任务信息的外在展示和完成不同用户之间的交互工作。包括视图管理器、视图模式集合、视图解析器集合三个重要的组成部分。

视图模式:是业务模型的信息表现形式,可以是html形式、图表形式,也可以是xml形式等等。同一个业务模型的不同表现形式说明需要不同的视图模式。

视图解析器:主要是完成对视图模式的解析,以完成业务数据同视图模式的相关信息绑定并以视图模式所描述的方式将业务或web任务结果信息展示给用户。

视图模式管理器:主要完成对每个视图的管理,包括对每个视图模式的加载/卸载、视图模式解析器的加载/卸载、检查视图模式所对应的相关的模式解析器,以及向controller构件注册每个视图可产生的事件和感兴趣的数据等。

2.3 model构件的功能

模型是与问题相关数据的逻辑抽象,代表对象的内在属性,是整个模型的核心。它采用面向对象的方法,将问题领域中的对象抽象为应用程序对象,在这些抽象的对象中封装了对象的属性和这些对象所隐含的逻辑。在本设计中,model构件就是用来对各种web任务的业务逻辑的抽象与管理。

3 基于软件总线和mvc的web图书销售系统架构

基于上述的描述基础,我们设计了如图3所示的web图书销售系统架构。在这个架构中,软件总线是一个高度松散的组织结构,每个web任务都可以采用基于mvc构件模式的方法来设计和实现,各个web任务都可以挂接到总线上去,实现即插即用。每个web任务在完成自身工作即私有业务的同时,并不干扰其它web任务的操作。其中,web总线配置管理是web软件系统的中央控制模块,它主要完成对各个web任务构件的配置管理工作。

4 结束语

总之,随着计算机软件web技术和mvc技术的不断发展和成熟, mvc技术将不断地在各个领域得到广泛的研究与应用。本文在基于web的图书销售系统中,介绍了一种基于软件总线和mvc模式的web应用架构,提供了一种新型灵活和可配置的web图书销售系统的设计和实施方案,为提高该类软件系统可扩展性和可维护性提供了一条新的解决思路。