已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 简要说明本文把框架从分层的角度把框架设计为6个层,并具体划分各个层的主要功能、主要组成、主要类的接口;然后再规划了几个最常用的通用组件的主要接口。2 分层理论随着软件行业的发展,软件项目的规模越来越大,复杂度越来越高,为降低复杂度,将应用系统分层,以降低各层的复杂度,利于软件开发的分工和复用.。2.1 图示图2.12.2 基本准则1、 不得跨层调用,每一层都只与直接相临的层进行通信。2、 上面各层都建立在下层的基础上,隐藏下层的信息并为上层提供服务。3、 各层要封装自己的实现,向前一层提供访问接口。4、 各层支持分布式的部署,即可部署于不同的容器实例中。5、 各层数据传递使用javabean,map,collection6、 显示层的数据结构使用javabean,map, collection2.3 层间数据传递 数据格式:各层数据传递使用javabean,map,collection 数据传递:Request线程变量(CommandContext)2.4 各层说明2.4.1 客户层系统最终用户的使用界面和设备。包括基于浏览器的瘦客户端和基于GUI的胖客户端应用。1、 尽量减少与后台的交互。2、 界面符合用户的使用习惯。3、 界面美观大方,风格统一,交互性好。2.4.2 交互层用户和系统之间的交互管理,提供用户层的展现逻辑和对应用层的访问接口。也包括单点登录、会话管理、用户输入的逻辑校验等功能,错误处理,提示信息处理.1、 客户层访问的交互协议尽可能使用http/https。2、 是客户层的统一接入点。2.4.3 应用层业务逻辑的接口,实现业务流程的控制,是业务领域层的服务接口。1、 以Session Facade的模式实现。2、 启动事务控制。3、 领域对象的交互在此处理。2.4.4 业务领域层根据业务需求进行的抽象,包括业务对象模型,业务规则和逻辑处理的实现2.4.5 资源访问层对系统的各种资源和外部系统统一的访问逻辑的实现。1、 不作语义转换,只实现纯粹的资源访问。2、 提供访问文件,或者数据库的接口。3、 使用jdbc,io等等。4、 支持使用dao模式,支持ejb,支持hibenate。2.4.6 资源层(EIS)各种信息系统资源,例如:RDBMS、文件系统、原有系统、消息服务、邮件服务、交易服务中间件等。3 框架分层3.1 概述panther框架针对分层理论的具体实现,包括各层对应到的接口和类,及对接口和类的说明,做为使用panther框架开发应用软件时候的分层的指导性原则。3.2 图示图3.13.3 显示层panther框架显示层包括JSP,View加上web组件组成,主要功能:1、 处理显示逻辑2、 用户交互3、 显示客户界面3.4 控制层panther使用命令模式,用command做为控制层,主要功能1、 向应用层发送请求2、 处理异常3、 处理提示消息4、 导向功能.3.5 应用层使用facade模式,做为前端和后端的门面,包括IService和IService实现,主要功能:1、 数据转换,view和databean的相互转换2、 多个domain的交互,和流程3、 将后端异常转换成web端异常4、 处理事务3.6 领域层领域层包括IDomain, IDomain实现和databean,主要是分离复杂,使我们的领域对象不过分臃肿,便于复用。domain的功能:1、 多个dao的交互2、 对外模块提供的公用接口 databean的功能:1、 领域模型,各个领域对象的关联,如订单和客户的关联关系2、 领域逻辑,如订单的计算总金额3.7 持久层目前panther的持久层使用jdbc+dao的模式,包括IDao和IDao的实现主要功能:1、 负责数据库的存取2、 负责文件的存取4 重要的包和类4.1 显示层当前先考虑使用JSP技术来实现,在JSP里使用平台的web组件,有关web组件的详细资料请参考web组件相关文档。4.2 控制层使用servlet+command的模式来实现,servlet接收请求然后根据请求信息找到一个对应的command,command调用应用层的service,执行完service的方法后返回一个页面(IForward)给客户端。图4.14.3 应用层Service把控制层传来的数据转换为领域层数据,然后调用领域层的Domain,同时通过事务控制组件来做事务的控制。图4.2图4.3l BaseService是Service的基类,有一个不能为空的TransactionTemplate类型的属性,initService方法是service的初始化方法,在service被实例化后执行。l TransactionTemplate是事务控制模板,execute方法包含事务处理逻辑;TransactionCallback是一个回掉接口,doInTransaction方法里调用要在事务里执行的方法。 4.4 领域层DataBean是领域层的数据实体,Domain负责领域逻辑,Domain调用持久层的Dao处理状态持久化;DataBean采用普通JavaBean规范;定义BaseDomain为所有Domain的基类,initDomain方法为domain的初始化方法,在Domain被实例化后执行。图4.44.5 持久层Dao负责DataBean的持久化,使用JDBC访问数据库;RdbmsOperation是在JDBC API之上的一个封装,每一个sql语句都封装成RdbmsOperation;Dao有多个sql,比如增加记录的sql、删除记录的sql,对应的就有多个RdbmsOperation类型的属性;DataAccessException封装SQLException,是领域层不依赖JDBC的API;Dao还对应一个DataSouce类型的属性,表示要访问的数据库。图4.5图4.6图4.75 公用的组件5.1 缓存组件为了提高系统的性能,对于系统中的某些变化频率比较小的内容可以缓存起来。缓存组件主要的接口:Cache是缓存的接口,CacheService是缓存服务的接口。图5.1图5.25.2 字典组件企业应用的开发过程中经常会涉及到根据编号取名称,比如根据商品编号取商品名称、根据员工编号取员工名称等,可以把这些操作抽象成一个字典组件,根据编号取名称。字典组件的接口:图5.35.3 资源组件数据库的一个字段的中文解释经常变化,导致应用代码的变化,比如SLSMAN_ID在某个企业称为销售员编号,但到了另外一个企业又叫访销员编号,同时有时候为了国际化需要,还要在中英文之间切换。为了方便的实现这个功能,抽象出一个资源组件来处理。图5.45.4 日志组件采用apache的common-logging项目:图5.5图5.6使用举例:protected Log logger = LogFactory.getLog(getClass();if(logger.isDebugEnabled()logger.debug(“hello world”);5.5 IOC容器采用spring的IOC容器,使用setter/getter方法来给javabean的属性赋值;框架封装一下提供统一的访问接口:图5.7g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年医疗美容项目合作协议
- 《装配式钢结构建筑主体结构施工技术规程》
- 万达文旅城十一黄金活动
- 2026年域名租用合同(1篇)
- 护理质量控制与病例研究
- 痔疮套扎术护理中的沟通技巧
- 焦虑症患者的社交技巧训练
- 敏感皮肤的特别护理
- 甲状腺疾病患者的家庭护理
- 2026 塑型进阶部队火锅课件
- 电气控制与PLC技术(西门子S7-1200系列)(第2版)课件 项目二任务3 定时器指令的使用
- JCT 2126.1-2023 水泥制品工艺技术规程 第1部分:混凝土和钢筋混凝土排水管 (正式版)
- JBT 1306-2024 电动单梁起重机(正式版)
- 4.4.1 叠合板生产及质量控制(装配式混凝土建筑构件生产与管理)
- 妇科常见化疗药物及护理
- 空乘面试常用英语
- 少年司法制度
- GB/T 12230-2023通用阀门不锈钢铸件技术条件
- 华北理工选矿学课件02磁电选矿-5电选机
- 云南省地图含市县地图矢量分层地图行政区划市县概况ppt模板
- GB/T 3768-2017声学声压法测定噪声源声功率级和声能量级采用反射面上方包络测量面的简易法
评论
0/150
提交评论