您的位置:首页 > 其它

【Hibernate学习笔记】软件的模型

2014-04-01 19:58 162 查看
孙卫琴《精通Hibernate:Java对象持久化技术详解》 电子工业出版社

软件分析阶段: 概念模型

软件设计阶段: 域模型(面向对象)<-----对象关系映射------>数据模型(面向关系)

1. 概念模型

E-R图

2. 关系数据模型

一个或多个表

表的所有索引

视图

触发器

表与表之间的参照完整性

3. 域模型

构成域模型的基本元素是域对象(Domain Object),域对象还可叫做业务对象(Business Object,BO)。域对象可以代表业务领域中的人、地点、事物或概念。域对象分为以下几种。

1)实体域对象

采用JavaBean形式的实体域对象也称为POJO(Plain Old Java Object,简单的Java对象)。

2)过程域对象

如BusinessService

3)事件域对象

域对象之间的关系:

1)关联(Association)

关联指的是类之间的引用关系,关联可分为一对一、一对多和多对多关联。

public class Order
{
private Long id;
private String orderNumber;
private double price;

// ******
private Customer customer;
……
}


关联还可以分成单向关联和双向关联。

2)依赖(Dependency)

依赖指的是类之间的访问关系。如果类A访问类B的属性或方法,或者类A负责实例化类B,那么可以说类A依赖类B。和关联关系不同,无需把类B定义为类A的属性。依赖关系在实体域对象之间不常见,但是过程域对象往往依赖实体域对象,因为过程域对象会创建实体域对象,或者会访问实体域对象的属性及方法。

3)聚集(Aggregation)

聚集指的是整体与部分之间的关系,例如人与兽就是聚集关系。

public class Person
{
private Set hands = new HashSet();
……
}
可见,聚集关系和关联关系在类的定义上有相同的形式,不过两者有不同的语义。对于聚集关系,部分类的对象不能单独存在,它的生命周期依赖于整体类的对象的生命周期,当整体消失,部分也就随之消失。而对于存在关联关系的两个类,可以允许每个类的对象都单独存在,例如雇员和雇主就是这样的关联关系。

4)一般化(Generalization)

一般化指的是类之间的继承关系。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: