MVC模式下的软件开发框架设计

2021-03-15 06:59刘伟李树文
电脑知识与技术 2021年1期
关键词:开发框架软件

刘伟 李树文

摘要:针对传统软件开发框架中存在开发成本高、开发效率低,甚至需要多次变更导致开发混乱的问题,开展MVC模式下的软件开发框架设计研究。通过基于多种视图技术的软件视图展示设计、任务分发控制器选择、基于MVC模式下的软件开发业务逻辑处理设计,提出一种全新的软件开发框架。通过实验证明,该软件开发框架与传统框架相比,可有效提高每秒处理请求的数量,实现对软件的高效开发,同时该框架可结合当前众多新兴技术进行整合,充分体现框架的灵活性。

关键词:MVC模式;软件;开发;框架

中图分类号: TP311      文献标识码:A

文章编号:1009-3044(2021)01-0071-02

当前计算机研究领域中重点研究话题主要集中在分布式计算上,自全球广域网系统出现至今,凭借其低成本、易推广、高灵活性优势,被计算机领域广泛应用,逐渐涉足金融服务领域、通信领域、交通运输领域、军事领域当中。随着全球广域网软件的开发技术不断成熟,研究人员也在不断寻找更多简单[1]、易维护的方式进行软件应用的开发,尤其是在前端页面呈现上,出现了多种软件开发前端页面开发框架。一方面,这些软件开发框架的应用有利于人们更加容易的开发多种功能,形成更加先进的系统平台。另一方面,软件开发框架的应用也为系统平台的集成化和开放化提供更加便利的条件。因此通过更加合理的方式对软件开发框架进行运用,可以充分发挥框架所提供的服务作用,进一步提高软件开发的效率和软件开发的质量水平,保证系统各项性能的稳定性[2]。MVC模式是一种通过模型、视图、控制器实现软件设计的模式,是一种利用业务逻辑、数据和界面显示分离技术形成的组织代码。MVC模式的设计思路逐渐渗入软件开发框架的设计当中,在进行语言开发、框架运用、系统开发的过程中只有充分了解MVC模式设计思想的深层次含义,还能够更加有效地理解各类软件开发框架的设计原理,并在对应用模块进行分析,提供原型分析思路基于此,本文开展MVC模式下的软件开发框架设计。

1 MVC模式下的软件开发框架设计

1.1 基于多种视图技术的软件视图展示

针对不同软件开发的需要,在对其框架进行设计时结合多种视图技术,对软件视图展示进行设计。展示页面主要包括licenseinfoConetent、jsp页面、license.jsp页面、mathematical logic.jsp页面、Physical view.jsp页面、circumstances.jsp页面等[3]。其中将第一种页面设计作为主页面,用于对软件使用者提供增、删、改、查询等操作功能;将第二种页面设计作为辅助页面,用于对各类许可证的详细信息展示;将第三种页面设计作为数学逻辑页面,用于在进行面向对象的设计方法时,实现对对象模型的展示;將第四种页面设计作为物理视图页面,用于描述软件映射到相应硬件设备的过程中,并反映在分布方面;将第五种页面设计作为场景视图页面,用于对软件在开发环境中对静态组织进行描述和展示[4]。除此之外,软件开发框架中的视图展示不仅包含对编写程序的展示,也包含可直接为用户提供第三方SDK或者现成的框架、类库以及开发的系统将运行于其上的中间件展示。不同软件视图展示页面之间不是相互独立的,是从不同角度反映一个软件系统的实际特征,因此在设计过程中要将所有展示页面融合在一起,形成完整的软件系统。利用velocity 网页程序设计技术、java服务器页面技术,将软件视图展示看作HTML超文本标记语言界面[5]。利用计算机本身自带记事本进行编写,将文件存储为.htm或.html扩展名,方便后续浏览器对文本直接解释并执行。在利用Srtuts框架中的Taglib标签库,将视图代码与程序逻辑代码完全分隔开,得到清晰的视图代码显示。

1.2 任务分发控制器选择

任务分发控制器是从本文上述基于多种视图技术的软件视图展示层接收开发用户提出的相应请求数据信息开始,由控制器将全部数据信息整合控制,再由控制器决定将符合相应条件的请求分派到各个模型当中。在经过任务模型处理后,将数据返回到控制器当中,并通过控制器再次决定下一步进行的操作或转换到另一个控制器模型当中[6]。软件开发框架中的任务分发控制器主要作用是针对开发动作以及对配置文件进行设计,为了清晰地将模块与软件系统其他相关模块之间的结构关系划分,并达到代码的充分作用。本文选用动态网页技术、开发动作的比例为1:1的任务分发控制器。首先选择一个编码转换类,用于实现与filter编写过滤器接口之间的连接,并在全球广域网当中进行简单配置,从而在根本上解决框架内中文读取和显示的问题。

再利用MVC模式下的内置核心控制器组件作为任务分布控制器的核心组件,通过对软件开发文件的访问,获取开发映射的对象,制定一个完整的任务分发控制器操作流程。为了实现更好的导航效果,在文件当中对开发用户进行注册,并在相应标签当中定义不同信息对应的路径,并在标签中将信息、类路径转向页面[7]。最终由任务分发控制器使用SimpleAsyncTaskExecutor随项目启动时初始化异步调度的任务,通过配置的异步调度任务创建守护进程,依赖守护进程来初始化ExecutorService线程池和BlockingQueue阻塞队列,以守护进程的线程从数据库读取待处理数据放入队列,线程池创建线程作为消费者去读消息并进行业务处理。

1.3 基于MVC模式下的软件开发业务逻辑处理

在MVC模式下,针对软件开发框架的业务逻辑处理进行设计,选用当前普遍应用的EJB组件技术实现本文业务逻辑处理。在EJB组件当中包含了所有业务处理流程,例如增、删、修改、查询等。当业务逻辑发生改变时,只需要通过修改Bean中的逻辑方案即可维护软件程序代码。在进行与数据库之间的数据信息交互时,设计一个通用型的数据库访问类,通过标准Java命名系统接口找出数据具体来源,再通过Source定位到连接池,实现对数据库的实时访问。利用业务逻辑处理,将常用的数据库操作进行封装,例如数据库连接、执行操作以及断开数据库连接等。在实现与数据库之间的实时访问后,只需要通过时序化该业务逻辑即可方便日后对数据库进行间接访问[8]。通过上述操作,实现软件开发框架的程序模块化,从而提高代码在框架当中的重要性。具体操作步骤为:第一步,由用户提出*.do的HTTp请求;第二步,由ActionServlet模块获取映射;第三步,由licenseForm对数据进行封装处理,并检查数据信息的合法性;第四步,将封装后的数据信息返回到licenseForm模块当中并再次获取映射;第五步,进入到licenseAction模块中完成对软件系统操作日志的填写;第六步,由licenseAction模块提出业务调用,并发送到DeviceInfoBean模块中;第七步,由DeviceInfoBean模块按照相应的业务逻辑对业务进行处理,并提交相应的数据库交互请求;第八步,由DBConnect模块与数据库建立交互,并获取相应的数据信息;第九步,依次按照上述顺序返回相应的业务数据、操作结果和页面转向映射;第十步,将所有操作结果返回,并定位到具体的java服务器页面当中,得带下一次请求开始。通过上述业务逻辑处理不仅可以达到软件开发系统的各项要求,同时能够更加成功的分解不同模块当中有关商业逻辑、视图逻辑或表现逻辑的代码。从而使其具备一定的重用性和可扩展性,更有利于后续软件开发过程中的分工合作,并保证维护的方便、快捷。

2 实验论证分析

2.1 实验准备

本文选用某一软件开发程序编写测试用例,分别利用传统软件开发框架与本文提出的软件开发框架,结合相同的测试工具对本文框架的各项性能展开实验研究,并对设计初期制定的目标达成情况进行检验。测试用例中主要包含项目配置、视图渲染、文件缓存、Action类创建等操作。采用黑盒模式,对框架的基本开发功能进行验证,选择软件开发中常见的两种功能的测试情况作为代表性说明,测试对象为:输入过滤、单一入口。测试用例1:直接由URL对类文件访问;测试用例2:直接由URL对视图模块访问;测试用例3:由URL进行加模块、操作、参数访问;测试用例4:正常模式下进行SQL参数注入。实验的测试环境为:CPU(Intel Core i6 850)3.68GHz x6;8GB随机存取存储器;1000GB 8400rpm个人计算机存储设备;XHP性能分析工具。

2.2 实验结果与分析

将本文软件开发框架与传统软件开发框架,针对四种不同测试用例完成开发的实验结果进行记录,并将不同框架中每秒处理请求数进行对比,绘制成如表1所示。

表1中,本文软件开发框架每秒处理请求数均达到3000个/s以上,而传统软件开发框架仅可实现每秒800~900个左右请求数处理。因此,通过实验证明,本文设计的软件开发框架可实现对软件开发用户更加快速的响应,满足设计者对框架的性能需要。

3 结束语

当前互联网的快速发展使得全球广域网项目被应用到各个行业领域当中,同时也影响着人们的日常生活和工作。本文利用MVC模式下的设计思路,提出一种全新的软件开发框架。该框架在实际应用可以为设计者提供更加清晰的框架结构,并且具有一定的可扩展性。与合理的用户实践检验体系结合,可以更加从容地处理软件开发过程中存在的诸多细节问题,为软件开发的质量提供保障。

参考文献:

[1] 李博佳,王敏,张昕宇,等.基于动态传热分析的平板型太阳能集热器设计软件开发[J].建设科技,2020,41(15):17-20,24.

[2] 刘大可,魏冰阳,邓效忠,等.基于SYSWARE.IDE工业互联网平台的齿轮传动设计软件开发[J].机械传动,2020,44(8):92-97.

[3] 郝宝新,周志成,曲广吉,等. 桁架结构拓扑优化系统软件开发及其在大型天线安装桁架设计中的应用[J]. 航天器环境工程,2020,37(1):73-80.

[4] 蔡洪濤. 基于Unity3D软件开发虚拟仿真项目跨平台部署方法的研究[J].科技传播,2020,12(11):157-158.

[5] 王真. 版本控制工具在软件开发项目管理中的应用——以GIT为例[J].项目管理技术,2020,18(6):131-134.

[6] 李斌.基于华为DevCloud的计算机软件项目实训课程创新性实践[J].信息技术与信息化,2019,24(12):30-32.

[7] 彭芳.从时代技术演化角度看1+xWeb前端证书与Web框架技术的深度联系[J].信息记录材料,2020,21(7):137-138.

[8] 周飚.迭代式编程演示教学法在应用软件开发课程教学中的应用[J].中国管理信息化,2020,23(14):221-222.

【通联编辑:李雅琪】

猜你喜欢
开发框架软件
禅宗软件
广义框架的不相交性
软件对对碰
WTO框架下
河南方言文化资源的保护及其开发利用的研究
遵义红色旅游开发对策研究
单片机在电子技术中的应用和开发
一种基于OpenStack的云应用开发框架
谈软件的破解与保护