- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简要说明
本文把框架从分层的角度把框架设计为6个层,并具体划分各个层的主要功能、主要组成、主要类的接口;然后再规划了几个最常用的通用组件的主要接口。
分层理论
随着软件行业的发展,软件项目的规模越来越大,复杂度越来越高,为降低复杂度,将应用系统分层,以降低各层的复杂度,利于软件开发的分工和复用.。
图示
图2.1
基本准则
不得跨层调用,每一层都只与直接相临的层进行通信。
上面各层都建立在下层的基础上,隐藏下层的信息并为上层提供服务。
各层要封装自己的实现,向前一层提供访问接口。
各层支持分布式的部署,即可部署于不同的容器实例中。
各层数据传递使用javabean,map,collection
显示层的数据结构使用javabean,map, collection
层间数据传递
数据格式:
各层数据传递使用javabean,map,collection
数据传递:
Request
线程变量(CommandContext)
各层说明
客户层
系统最终用户的使用界面和设备。包括基于浏览器的瘦客户端和基于GUI的胖客户端应用。
尽量减少与后台的交互。
界面符合用户的使用习惯。
界面美观大方,风格统一,交互性好。
交互层
用户和系统之间的交互管理,提供用户层的展现逻辑和对应用层的访问接口。也包括单点登录、会话管理、用户输入的逻辑校验等功能,错误处理,提示信息处理.
客户层访问的交互协议尽可能使用http/https。
是客户层的统一接入点。
应用层
业务逻辑的接口,实现业务流程的控制,是业务领域层的服务接口。
以Session Facade的模式实现。
启动事务控制。
领域对象的交互在此处理。
业务领域层
根据业务需求进行的抽象,包括业务对象模型,业务规则和逻辑处理的实现
资源访问层
对系统的各种资源和外部系统统一的访问逻辑的实现。
不作语义转换,只实现纯粹的资源访问。
提供访问文件,或者数据库的接口。
使用jdbc,io等等。
支持使用dao模式,支持ejb,支持hibenate。
资源层(EIS)
各种信息系统资源,例如:RDBMS、文件系统、原有系统、消息服务、邮件服务、交易服务中间件等。
框架分层
概述
panther框架针对分层理论的具体实现,包括各层对应到的接口和类,及对接口和类的说明,做为使用panther框架开发应用软件时候的分层的指导性原则。
图示
图3.1
显示层
panther框架显示层包括JSP,View加上web组件组成,主要功能:
处理显示逻辑
用户交互
显示客户界面
控制层
panther使用命令模式,用command做为控制层,主要功能
向应用层发送请求
处理异常
处理提示消息
导向功能.
应用层
使用facade模式,做为前端和后端的门面,包括IService和IService实现,主要功能:
数据转换,view和databean的相互转换
多个domain的交互,和流程
将后端异常转换成web端异常
处理事务
领域层
领域层包括IDomain, IDomain实现和databean,主要是分离复杂,使我们的领域对象不过分臃肿,便于复用。
domain的功能:
多个dao的交互
对外模块提供的公用接口
databean的功能:
领域模型,各个领域对象的关联,如订单和客户的关联关系
领域逻辑,如订单的计算总金额
持久层
目前panther的持久层使用jdbc+dao的模式,包括IDao和IDao的实现主要功能:
负责数据库的存取
负责文件的存取
重要的包和类
显示层
当前先考虑使用JSP技术来实现,在JSP里使用平台的web组件,有关web组件的详细资料请参考web组件相关文档。
控制层
使用servlet+command的模式来实现,servlet接收请求然后根据请求信息找到一个对应的command,command调用应用层的service,执行完service的方法后返回一个页面(IForward)给客户端。
图4.1
应用层
Service把控制层传来的数据转换为领域层数据,然后调用领域层的Domain,同时通过事务控制组件来做事务的控制。
图4.2
图4.3
BaseService是Service的基类,有一个不能为空的TransactionTemplate类型的属性,initService方法是service的初始化方法,在service被实例化后执行。
TransactionTemplate是事务控制模板,execute方法包含事务处理逻辑;TransactionCallback是一个回掉接口,doInTransaction方法里调用要在事务里执行的方法。
领域层
DataBean是领域层的数据实体,Domain负责领域逻辑,Domain调用持久层的Dao处理状态持久化;DataBea
您可能关注的文档
- 精美简历模板就是这样的.doc
- 精妙sql.doc
- 精妙Sql语句.doc
- 精妙Sql语句 - 兵临城下.doc
- 精妙SQL语句,基础,提升,技巧.doc
- 精品个人简历1.doc
- 精通Excel表格的35招必学秘技.doc
- 精通数据库系列之入门-技巧篇.doc
- 精通正则表达式-基础知识拓展.doc
- 精心整理的最全电脑键盘快捷键集锦,让你不用鼠标也可高速用电脑…….doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)