简要说明
本文把框架从分层的角度把框架设计为6个层,并具体划分各个层的主要功能、主要组成、主要类的接口;然后再规划了几个最常用的通用组件的主要接口。
分层理论
随着软件行业的发展,软件项目的规模越来越大,复杂度越来越高,为降低复杂度,将应用系统分层,以降低各层的复杂度,利于软件开发的分工和复用.。
图示
基本准则
不得跨层调用,每一层都只与直接相临的层进行通信。
上面各层都建立在下层的基础上,隐藏下层的信息并为上层提供服务。
各层要封装自己的实现,向前一层提供访问接口。
各层支持分布式的部署,即可部署于不同的容器实例中。
各层数据传递使用javabean,map,collection
显示层的数据结构使用javabean,map, collection
层间数据传递
数据格式:
各层数据传递使用javabean,map,collection
数据传递:
Request
mandContext)
各层说明
客户层
系统最终用户的使用界面和设备。包括基于浏览器的瘦客户端和基于GUI的胖客户端应用。
尽量减少与后台的交互。
界面符合用户的使用习惯。
界面美观大方,风格统一,交互性好。
交互层
用户和系统之间的交互管理,提供用户层的展现逻辑和对应用层的访问接口。也包括单点登录、会话管理、用户输入的逻辑校验等功能,错误处理,提示信息处理.
客户层访问的交互协议尽可能使用http/https。
是客户层的统一接入点。
应用层
业务逻辑的接口,实现业务流程的控制,是业务领域层的服务接口。
以Session Facade的模式实现。
启动事务控制。
领域对象的交互在此处理。
业务领域层
根据业务需求进行的抽象,包括业务对象模型,业务规则和逻辑处理的实现
资源访问层
对系统的各种资源和外部系统统一的访问逻辑的实现。
不作语义转换,只实现纯粹的资源访问。
提供访问文件,或者数据库的接口。
使用jdbc,io等等。
支持使用dao模式,支持ejb,支持hibenate。
资源层(EIS)
各种信息系统资源,例如:RDBMS、文件系统、原有系统、消息服务、邮件服务、交易服务中间件等。
框架分层
概述
panther框架针对分层理论的具体实现,包括各层对应到的接口和类,及对接口和类的说明,做为使用panther框架开发应用软件时候的分层的指导性原则。
图示
显示层
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组件相关文档。
控制层
mand的模式来实现,mand调用应用层的service,执行完service的方法后返回一个页面(IForward)给客户端。
应用层
Service把控制层传来的数据转换为领域层数据,然后调用领域层的Domain,同时通过事务控制组件来做事务的控制。
BaseService是Service的基类,有一个不能为空的TransactionTemplate类型的属性,initService方法是service的初始化方法,在service被实例化后执行。
TransactionTemplate是事务控制模板,execute方法包含事务处理逻辑;TransactionCallback是一个回掉接口,doInTransaction方法里调用要在事务里执行的方法。
领域层
DataBean是领域层的数据实体,Domain负责领域逻辑
框架总体架构设计说明书 来自淘豆网m.daumloan.com转载请标明出处.