图1 mvc设计模式的结构
图2 struts 的工作原理
struts的优点主要体现在两个方面:表单验证和页面导航。表单验证解决了请求数据的验证问题,增强了系统健壮性。而页面导航使系统的业务流程脉络清晰,系统各部分之间的联系可以通过配置文件反映出来,从而在一定程度上简化了系统以后的维护工作。
但是struts也存在一些不足:
1)陡峭的学习曲线。taglib是struts的标记库,如果能灵活运用,能大提高开发效率,但对初学者来说,却需要一个持续学习的过程,增加了系统的开发成本。
2)增加了系统的复杂度。业务层和表现层之间的耦合度太高,使得开发人员无法专注于表现层的设计和实现。
3)没有对表单数据前端验证提出方案,不利于在大型系统中使用。
4)配置文件过于复杂繁索,随着系统规模的增大,struts-config.xml越来越庞大,维护也变得越来越困难。
webframework框架
针对struts框架的以上不足之处,本文提出webframework框架,与struts框架相比,webframework更简单易行,它通过简化表现层的设计,降低开发难度,节约开发成本;使用vo(value object)作为数据传递的方式,降低系统复杂度;运用简单的浏览器端表单字段数据验证,提高系统的运行效率;简化的配置文件,便于系统的维护。
设计目标
遵循j2ee规范,基于多层分布式应用软件开发框架,分布式的层次构架方式可以提高软件系统性能上的可扩展性,从长期的角度上保障了客户对当前的软件投资;实现软件系统在异常情况下也可以正常地提供服务,提高软件系统的稳定性;各个构架层次逻辑分离,有利于软件开发过程中团队成员的协同工作,提高生产效率。
2、框架结构
在设计策略中,将软件系统从构架上分为数据层、业务逻辑层和表示层,主要集中在业务表示与业务逻辑层。将普通三层架构的表示层细分成视图格式层和表示控制逻辑层。表示层涉及基于“瘦客户”技术的用户视图格式服务器端表示和相应的交互式控制逻辑。视图格式层,只保留了构建客户端用户视图必要的显示格式和事件触发;而在表示控制逻辑层则如名称所描述的那样,实现了人机交互所需控制逻辑和部分业务会话逻辑,再加上贯穿所有系统逻辑层的业务实体,则构成了以mvc模式为核心的表示层架构,将显示格式、显示控制逻辑、模型数据三部分有效地分隔开来,大大加强了系统架构的可扩展性和应用子系统的可插拔性。
业务层细分成业务会话层和业务持久化层。业务层集中在业务流程中处理逻辑的组件化封装,且与数据层平台和外部系统无关。业务会话层,侧重于业务活动,将一项业务的所有活动事务性地封装起来,也确保业务流程处理的一致性和高效率;而业务持久化层则是为业务会话层提供支持,提供业务数据的持久化操作,在业务与数据库之间建立分离作用的中间层,构成松耦合的架构。
本分层模型中实现了mvc设计模式。其中,servlet组件对应于mvc中的控制器(controller)部分,jsp及browser对应于视图(view)部分,而会话外观、逻辑bean及值对象则对应于模型(model)部分。其结构图3所示:
2.1、数据层
(1)层定义
数据层对数据进行管理,并向业务逻辑层提供标准化的开放访问接口。
数据层目前主要提供两种形式的服务方式:数据库方式和文件方式。数据库主要提供业务操作数据等具有明显结构化特性的数据的存储和访问服务;文件主要提供包括扫描文档图像、传真、照片、计算机生成的报告、字处理文档、电子表格、演示文稿、语音和视频片段等非结构化数据的存储和访问服务。
主要功能:数据创建、数据存储、数据查询、数据更新、数据删除、数据安全、事务支持、数据备份/恢复。
(2)与其他层接口
1)数据库方式的数据层面向业务逻辑层提供数据库访问服务接口,业务逻辑层通过jdbc协议访问数据库服务。
2)文件方式的数据层面向业务逻辑层提供文件级的访问服务接口,业务逻辑层通过操作系统本身提供的文件访问api访问文件数据。
图3 myframework框架结构图
新闻热点
疑难解答