对象关系在模型中的实现案例.doc

对象关系在模型中的实现案例.doc

ID:55955438

大小:363.50 KB

页数:10页

时间:2020-06-18

对象关系在模型中的实现案例.doc_第1页
对象关系在模型中的实现案例.doc_第2页
对象关系在模型中的实现案例.doc_第3页
对象关系在模型中的实现案例.doc_第4页
对象关系在模型中的实现案例.doc_第5页
资源描述:

《对象关系在模型中的实现案例.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、对象关系在模型中的实现案例—基础软件部吴春云一、案例介绍:在一个项目中,存在多个业务对象,各个业务对象间存在各种关系。从结构上来看,对象关系可以分为依赖、继承、关联、聚合、组合,从数量上来看,对象关系可以分为一对一、一对多、多对多。本案例主要介绍如何在开发过代码来表示对象间的各种关系,并基于这种关系进行前后端数据交互及持久化。二、关系的概念及实现:1.结构关系1.1继承继承指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力。所以继承关系,确切的说是类与类之间的关系,

2、但是对象又是类的实例,所以就这个角度理解为对象之间的关系,例如父与子的关系,动物与狗的关系,汽车与大众的关系等。工作流结构部分的实体类:SysNode(环节)、SysTransactNode(办理环节)、SysActivityNode(活动环节)、SysDecisionNode(决策环节)应用了这种继承关系,使得子类拥有了父类环节中的属性,但子类本身代码大大简化,结构清晰。publicclassSysTransactNodeextendsSysNode{}publicclassSysActivityNodeextends

3、SysTransactNode{}publicclassSysDecisionNodeextendsSysTransactNode{}1.2依赖依赖就是一个对象A使用到了另一个对象B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是对象B的变化会影响到对象A。比如某人要过河,需要借用一条船,此时某人与一条船之间的关系就是依赖。表现在代码层面,一般指由局部变量、返回值建立的对于其他对象的调用关系,如对象B作为参数被对象A在某个方法中使用。1.3关联关联体现的是两个类之间语义级别的一种强依赖关系,这种关系比依赖更强、不

4、存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的。关联可以是单向、双向的。表现在代码层面,为被关联类B以类的属性形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量。1.4聚合聚合是关联关系的一种特例,它体现的是整体与部分的关系,即has-a的关系。此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,为多个整体对象共享,比如计算机与CPU、公司与员工的关系等。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。1.5组合组合也

5、是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合。它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束,比如人和人的大脑。表现在代码层面,和关联关系是一致的,只能从语义级别来区分。2.数量关系2.1一对一一个人对应一个号,一个号对应一个人;通过号能找到具体的人,通过具体的人也能得到号,不会重复。这里人和号的关系就是一对一关系。2.2一对多(多对一)一个班级有多个学生,但是这个班级只有一个班主任。在这个班级中随便找一个人,就

6、会知道他们的班主任是谁;知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多,学生和班主任的关系是多对一关系。2.3多对多一个班级有多个学生,他们有语文课、数学课、英语课等多门课。一门课有多个人上,一个人可以上多门课。这里学生和课程的关系就是多对多关系。3.关系的实现基础平台中,权限规则与基本规则是一对一的关系,字典与字典项是一对多的关系,下面分别介绍如何在数据库层面、服务层面、Javascript层面来表示这两种关系。3.1数据库层面:数据库中业务对象对应为表或视图,对象关系对应为各表间的关联关系,具

7、体可抽象为外键等和外部关联的字段。a.一对一在数据库中,建立权限规则表与基本规则表,在权限规则表过基本规则ID字段对应基本规则表的主键ID,以此种方式表示权限规则与基本规则的一对一关系。同样,可以在基本规则表中增加一个字段对应权限规则表的主键ID来建立一对一关联。可以根据实际业务需求来选择在哪方设置外键。b.一对多在数据库中,建立字典主表与字典从表,在字典从表过主表字典ID字段对应字典主表的主键ID,以此种方式表示字典与字典项的一对多关系。需要注意的是,在一对多的关系配置中,关系的维护方只能是多方,即只能在多方设置外键,

8、这是与一对一关系不同的地方。另外可以通过中间表的方式来表示一对多关系,如模块与功能权限,如下图所示:在中间表中,通过模块ID、功能权限ID分别引用模块表、功能权限表的主键ID表示这种一对多关系。3.2服务层面:Java中业务对象对应为实体,对象关系对应为实体间的映射,在有了能够表示对象关系的表结构后,可以根据表结构设

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。