浏览 1743 次
锁定老帖子 主题:java对象持久化技术概述
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-09
最后修改:2009-08-14
1>它是连接java应用程序和关系数据库的中间件 2>它对jdbc api进行了封装,负责java对象的持久化 3>在分层的软件架构中它位于持久层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑. 4>它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射. 应用软件的三层结构: 1>表述层:提供与用户交互的界面 2>业务逻辑层:实现各种业务逻辑 3>数据库层:负责存放和管理应用的持久性数据. 区分物理层和逻辑层: 软件的分层包含两种含义,一种是物理分层,即每一层都运行在单独的机器上,这意味着创建分布式的软件系统;一种是逻辑分层,指的是在单个软件模块中完成特定的功能. 软件层的特征: 1>每个层由一组相关的类或组件构成,共同完成特定的功能 2>层与层之间存在自上而下的依赖关系,即上层组件会访问下层组件的API,而下层组件不应该依赖上层组件. 3>每个层对上层公司API,但具体的实现细节对外透明. 软件分层的优点: 1>伸缩性:是指应用程序是否能支持更多的用户. 2>可维护性:可维护性指的是当发生需求的变化,只需修改软件的某一部分. 3>可扩展性:可扩展性指的是在现有系统中增加新功能的难易程度.层数越少,增加新功能就容易破坏现有的程序结构.层数越多,就可以在每个层中提供扩展点,不会打破应用的整体框架. 4>可重用性:是指程序代码没有冗余,同一个程序能满足多种需要. 5>可管理性:是指管理系统的难易程序. 完善的持久化层应该达到以下目标: 1>代码可重用性高,能够完成所有的数据库访问操作. 2>如果需要的话,能够支持多种数据库平台. 3>具有相对独立性,当持久层的实现发生变化,不会影响上层的实现. 透明与封装具有同样的含义,软件的透明性是通过封装实现细节来达到的. 软件的模型: 1>概念模型,在建立模型之前,首先要对问题域进行详细的分析,确定用例,接下来就可以根据用例来创建概念模型.概念模型用来模拟问题域中的真实实体,概念模型描述了每个实体的概念和属性,以及实体之间的关系.在这个阶段,并不描述实体的行为.创建概念模型的目的是帮助更好地理解问题域,识别系统中的实体,这些实体在设计阶段有可能变为类. 2>关系数据模型,到目前为止,关系数据库仍然是使用最广泛的数据库,它存储的是关系数据.关系数据模型是在概念模型的基础上建立起来的,用于描述这些关系数据的静态结构,它由以下内容组成: <1>一个或多个表 <2>表的所有索引 <3>视图 <4>触发器 <5>表与表之间的参照完整性 3>域模型,是在软件分析阶段创建的,它帮助开发人员对应用的需求获得清晰精确的理解.在软件设计阶段,需要在概念模型的基础上创建域模型,域模型是面向对象的,在面向对象术语中,域模型也可称为设计模型,域模型以下内容组成,一.具有状态和行为的域对象.二.域对象之间的关系. 4>域对象,构成域模型的基本元素是域对象.域对象,即Domain Object,是对真实世界的实体的软件抽象.域对象还可叫做业务对象,即Business Object(BO).域对象可以代表业务领域中的人,地点,事物或概念.域对象分为以下几种. <1>实体域对象,要算是最为人熟悉的.实体对象可以代表人,地点,事物或概念.通常,可以把业务领域中的名词作为实体对象.为了使实体域对象与关系数据库中的记录对应,可以为每个实体域对象分配唯一的OID(Object Identifier,即对象标识符),OID是关系数据库表中的主键(通常为代理主键)在实体域对象中的等价物. <2>过程域对象,代表应用中的业务逻辑或流程.它们通常依赖于实体域对象.可以把业务领域中的动词作为过程域对象. <3>事件域对象,代表应用中的一些事件(如异常,警告或超时).这些事件通常由系统中的某种行为触发. 在三层应用结构中,以上三种域对象都位于业务逻辑层,实体域对象是应用的业务数据在内在中表现形式,而过程域对象用于执行业务逻辑. 域对象之间的关系 1>关联(Association) 关联指的是类之间的引用关系,这是实体域对象之间最普遍的一种关系.关联可分为一对一,一对多,多对多关联. 2>依赖(Dependency) 依赖指的是类之间的访问关系.如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B.和关联关系不同,无需把类B定义为类A的属性.依赖关系在实体域对象之间不常见,但是过程域对象往往依赖实体域对象,因为过程域对象会创建实体域对象,或者会访问实体域对象的属性及方法. 3>聚集(Aggregation) 聚集指的是整体与部分之间的关系.聚集关系与关联关系在类的定义上有相同的形式,不过两者有不同的语义,对于聚集关系,部分类的对象不能单独存在,它的生命同期依赖于整体的对象的生命周期.当整体消失,部分也就随之消失.而对于存在关联关系的两个类,可以允许每个类的对象都单独存在. 4>一般化 一般化指的是类之间的继承关系. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |