【Hibernate學習筆記】軟件的模型

孫衛琴《精通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)

    一般化指的是類之間的繼承關係。

發佈了47 篇原創文章 · 獲贊 9 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章