MVC架构体系降低耦合性措施探讨

2017-03-16 03:40方又强
电子测试 2017年2期
关键词:应用程序架构逻辑

方又强

(武昌理工学院,湖北武汉,430223)

MVC架构体系降低耦合性措施探讨

方又强

(武昌理工学院,湖北武汉,430223)

当前MVC架构体系在软件开发中的应用十分普遍,通过应用该框架体系可以降低系统的耦合性,本文对此进行分析,分析可MVC架构组成及降低耦合性的措施。

MVC;耦合性;降低

1 MVC 架构

最早提出MVC架构是Trygve Reenskaug,在1979年提出,提出之后当时被广泛应用在热门语言Smalltalk中,由于该架构的设计界面具有交互性和多窗口等特点,因此当时被Windows、Macintosh系统所采纳。随着软件设计模式的出现和面向对象技术的不断成熟,MVC架构也越来越完善,成为一种典型代表的面向对象设计模式。MVC架构图见图1,使用MVC架构对软件进行开发,将开发过程切割成模型(Model)、视图(View)、控制器(Controller)3个主要单元。这三个单元相互协作完成用户提交的每项任务。使用MVC架构可以实现程序的动态设计,并能对程序进行后续修改和扩展简化,使某一部分功能实现可重复利用。此外,该架构还简化了软件设计的复杂程序,使程序结构更加直观。MVC架构三者的协作关系如下:用户发送请求给控制器,由控制器决定调用哪个模型来处理;然后模型根据用户的请求进行相应的业务逻辑处理,并返回与之相对应的数据;最后控制器将返回的数据填充到相应的视图,并通过视图呈现给用户。

图1 MVC 架构

Model是一组类,它是应用程序的关键核心部分,代表了业务规则,用来说明数据的处理、修改等操作规则,它为Controller对象和View对象提供了被Model对象封装的应用业务逻辑;View是应用程序的用户界面,和用户的应用有关,通过该界面可以实现用户的输入和输出。通过View对象可以访问Model对象中的数据,并显示Model对象的状态。通过“形式与内容”可以描述View对象与Model对象的关系:①如果改变Model对象中的状态,则View对象的用户界面显示内容也会发生相应的改变,达到内容与形式的一致;②不同的用户对同一个Model对象发出不同的请求,可以产生多个View对象。

Controller对象的作用是处理用户、特定应用程序逻辑及整个应用程序流通信。通过Controller可以实现Model对象与View对象之间的同步,也就是完成如下动作:①以用户对View对象的操作为基础对Model对象进行更新;②如果Model对象状态发生改变及时将这种改变反馈到View对象上。如.NET平台用DataSet对象可以轻易实现用户操作的信息反馈,因为一个DataSet对象可以包含多个DataTable对象,每个DataTable对象都可以和数据库中的数据建立联系,生成用户请求数据。通过Controller层可以实现Model层与View层之间沟通,对用户的请求进行分派,并选择合适的视图显示请求结果,同时也可以对用户的输入进行解释并将它们映射为模型层可执行的操作。

有上述分析可知,在MVC的架构中,应用程序的界面和业务逻辑等应用程序的其他部分是完全分离的,因此,能够对每部分独立进行设计,降低了业务逻辑、用户的控制动作和业务的实际状况的展现之间的藕合限制。既可以为同一个模型和控制器选择不同的界面,也可以对同一个应用程序选择不同的数据源和模型,还可以通过修改控制器对应用程序响应使用者动作的进行改变。

2 MVC架构体系低耦合性措施分析

2.1应用StrutS框架进行设计

Struts框架是基于MVC模式,是APache组织的一个开放源码项目,具备重用性、灵活性和模块化的优点,应用Struts框架可以简化基于MVC的Web开发程序,并且缩短开发时间。Struts的主要实现技术是:Servlet、JSP和Custom Tag Library。StrutS框架包括Actionservlet、Action处理器、Controller,其处理流程如下:Actionservlet接收并处理客户请求,接收请求之后将其映射到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,根据用户请求调用后台封装了业务逻辑的Bean组件,返回处理结果到Action处理器,Action处理器对象根据处理结果通知Controller,Controller进行下一步的处理。由于Struts框架的Actionservlet、Action处理器、Controller三部分相分离,因此,采用Struts框架对MVC框架进行设计,可以降低总架构的耦合性。

2.2将MVC框架体系与三层结构技术结合应用

在对软件进行设计时,其三层结构包括表现层、业务逻辑层及数据访问层。(1)UI(表现层):该层实际上是用户界面,用户在使用某个软件系统时看到的操作界面。(2)BLL(业务逻辑层):通过业务逻辑层实现对数据层的操作,处理数据业务逻辑及相关事务。(3)DAL(数据访问层):通过该层可以直接对数据库进行操作,实现数据存储的增添、修改、删除、更新、查找等功能。由于软件设计包含三层结构,因此采用传统方法对软件进行设计,需要编写大量的代码,并且这些代码的可重用性差,代码模块之间的耦合性较高,而采用MVC与三层结构技术相结合对软件进行开发设计,可以减少代码开发工作量,将表示层和业务逻辑层及数据层分离,降低了代码的耦合性,提高了系统的可维护性及可复用性。

3 结束语

MVC框架体系在软件设计和开发中有着广泛的应用市场,并且具有十分的重要作用和地位。本文简要介绍了MVC框架体系结构,并对其框架体系耦合性的降低进行分析,具有重要的研究意义。

[1] Ning W,Liming L,Yanzhang W.Research on the Web Information System Development Platform Based on MVC Design Pattern.IEEE,2008 3:203-206.

[2] Yan Cao,Lina Yang,Yanli Yang.Machine Tool Distributed Cooperative Design System Based on Extended MVC-Based Web Application Framework and XML Interoperable Information Model.IEEE,2008:423-428.

Discussion on Reducing Coupling Measures in MVC Architecture

Fang Youqiang
(Wuchang University of Technology,WuHan Hubei,430223)

The application of MVC architecture in software development is very popular. The application of this framework can reduce the coupling of the system. In this paper, the MVC architecture is analyzed and the measures to reduce the coupling are analyzed.

MVC; coupling;reduce

猜你喜欢
应用程序架构逻辑
基于FPGA的RNN硬件加速架构
刑事印证证明准确达成的逻辑反思
逻辑
创新的逻辑
功能架构在电子电气架构开发中的应用和实践
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
女人买买买的神逻辑
LSN DCI EVPN VxLAN组网架构研究及实现
一种基于FPGA+ARM架构的μPMU实现