springstatemachine的状态机的研究与应用(源码)【字数:11044】

摘 要当前环境,占据大量用户的Web应用程序是由提交的用户请求的来驱动的。当用户采取恶意或无意的非常规操作,如使用浏览器的历史记录、手工输入链接以及模拟一次表单提交等等,就很容易打乱设计好的应用程序逻辑。必须采取不同的技术来处理这些情况。状态机模式正是为了满足这方面的要求而设计的。因为状态机提前定义好了程序中状态转移的流程。而为了实现状态机模式,每个程序员可能都有自己的方法,使用不同的代码,缺少统一的规范。为了提高代码的一致性,框架就成为了大多数程序员的选择。Spring Statemachine是spring提供的一款在Web应用中利用有限状态机的框架。它可以帮助开发者简化状态机的开发过程。本文以电商订单管理系统为例,嵌入Spring Statemachine框架,对状态机设计模式进行研究。并对状态机模式以及pring Statemachine框架进行一定的评估。
目 录
第一章 绪论 1
1.1研究背景 1
1.2研究意义 1
1.3论文组织结构 2
第二章 有限状态机 3
2.1简介 3
2.2相关概念 3
2.3适用场景 3
2.4 Spring Statemachine简介 4
2.5工作原理 4
2.6主要功能 6
第三章 基于Spring Statemachine的应用设计 8
3.1应用简介 8
3.2需求分析 8
3.3总体技术架构 8
3.4功能模块概要设计 10
3.5数据库概要设计 12
第四章 基于Spring Statemachine的系统实现 15
4.1会员用户模块 15
4.2商品模块 15
4.3订单管理模块 16
结束语 19
致 谢 21
参考文献 22
附录A 23
第一章 绪论
1.1研究背景
随着信息技术的发展,越来越多的人投身于信息技术产业。程序员,严格意义上说是参与编码的人员,这个群体的人数得到了爆炸式的增 *好棒文|www.hbsrm.com +Q: ^351916072* 
长。与此同时,近年来,像互联网,云技术这样的软件系统变也得越来越精致复杂[1]。同时由于人们的生活变得越来越信息化,越来越依靠软件,2014年7月1日,中国网络互联网络信息中心发布的数据表明,中国网民手机上网的使用利率已到达83.4%[2],移动应用也随之飞速发展,移动应用的漏洞数量也呈现井喷趋势增长[3],不法者们也会利用这些漏洞展开攻击。软件的需求变得越来越多元化,越来越丰富。因为上述几个原因,开发软件的过程变得越来越复杂,软件系统的规模变得越来越大。系统状态也随着复杂的交互过程而增加,建模难度也随之增加[4]。
在面向对象的编程中,如果出现了大量与类的内部状态转换有关的逻辑时,由于上述两个原因,可能代码中就需要加上大量的if else等语句。这样,代码就可能会不受控制,出现无法预期的状态转换错误,出导致程序运行的BUG,造成用户以及开发者的损失。
当前环境,占据大量用户的Web应用程序是由提交的用户请求的来驱动的,与传统的C/S应用程序不同,C/S应用程序由传统的UI发送请求,程序员对触发的事件仍有一定程度的控制,因为这些事件要依赖于向用户显示的窗口和控件,而窗口和控件是由程序员控制的。Web应用程序则不然,因为一旦用户采取不在预料之中的操作(比如使用浏览器的历史记录、手工输入链接以及模拟一次表单提交等等),就很容易打乱设计好的应用程序逻辑。
显然,必须采取不同的技术来处理这些情况。它能处理任何顺序的事件,并能提供有意义的响应——即使这些事件发生的顺序和预计的不同。状态机模式正是为了满足这方面的要求而设计的。
而为了实现状态机模式,每个程序员可能都有自己的方法,使用不同的代码,没有一定的规范,代码的重用率就会降低,并且其他开发人员需要花一定的时间去理解原有开发人员的代码逻辑,参与协作开发的时间成本就会上升。同时,状态机本身就有不同的种类,什么时候用什么样的状态机就会成为开发时需要考虑的问题。为了提高代码的统一性,同时为了简化代码,使代码标准化,提高开发效率,减轻负担,框架就成为了大多数程序员的选择。在应用的开发过程中,开发框架的选择非常重要。一个好的开发框架能够加速应用的开发速度,降低开发成本,减少开发人员的工作量[5]。Spring Statemachine就是spring提供的一款在程序中利用有限状态机的框架。它的主要功能是帮助开发者简化状态机的开发过程,让状态机结构更加层次化[6]。
1.2研究意义
研究使用Spring Statemachine框架,将状态机模式较为轻松的加入程序当中,提高编程的一致性。在程序员使用时只需阅读一次API文档,然后就可以利用相同的规范互相约束,提高规范性,减少互相阅读代码,理解代码的时间,以后便减轻负担。减少软件开发的时间成本,增加工作效率。
随着互联网技术和电子在线支付技术的发展和普及,利用互联网电子商务系统进行网上购物,已经成为人们购物的主流[7]。同时,随着社会经济的发展,网络应用、电子商务的不断扩大和发展,企业也需要充分适应现代化建设需求[8]。而在电子商务中,订单管理系统必不可少,订单的状态变化为最为显著的特点,同时,随着国内电子商务平台的发展,订单管理也是必不可少的一部分。因此,使用订单管理系统来研究spring statemachine框架。
1.3论文组织结构
本文通过四个章节展开论述,文章结构及每章概要内容如下:
第一章:主要阐述课题研究的背景以及课题研究的意义。
第二章:主要介绍有限状态机的概念和适用场景。
第三章:主要介绍Spring Statemachine框架的原理以及主要功能。
第四章:订单管理系统的概要设计。
第五章:基于Spring Statemachine框架订单管理系统的实现。
第六章:对状态机模式以及Spring Statemachine框架使用的总结

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/41.html

好棒文