企業應用架構模式之物件 關係結構模式

2021-06-10 09:43:15 字數 1101 閱讀 9668

前面已經介紹了物件--關係行為模式,包括工作單元、標識對映、延遲載入,這些都是協調記憶體物件與關聯式資料庫之間行為操作的一些方法。記憶體物件與關聯式資料庫除了行為需要協調之外,在結構上也需要一些方法來保證彼此的完整,這就是物件-關係結構模式。這些方法主要有:標識域、外來鍵對映、關聯表對映、依賴對映、嵌入值、序列化大物件、單錶繼承、類表繼承。具體表繼承。

(1)標識域:為了在記憶體物件和資料庫之間維護標識而在物件內儲存乙個資料庫標識域。

將關聯式資料庫表的主鍵儲存在物件的域中

標識的選擇:資料表標識,自動生成,guid

(2)外來鍵對映:把物件間的關聯對映到表間的外來鍵引用

考慮資料庫的3正規化,尤其是第3正規化

物件間的關係(1對1,1對多,多對多)

(3)關聯表對映:把關聯儲存為乙個表,帶有指向(有關聯所連線的)表的外來鍵

多對多關係時常用的解決方案

關聯表對映的基本思想是使用乙個鍊錶來儲存關聯關係。這個表僅僅含有兩個相互關聯表的外來鍵id,對於每一對相關聯的物件,它都有乙個資料行與之對應。

(4)依賴對映: 讓乙個類為部分類執行資料庫對映。

依賴對映的基本思想是在資料庫持久化時,資料庫中的某個類(依賴者)依賴於其他類(所有者)。每個依賴者有且只有乙個所有者。

當有乙個物件只被另乙個物件引用的時候可以使用該模式。

(5)嵌入值:把乙個物件對映成另乙個物件表的若干字段。

一對一的關係時可採用

(6)序列化lob:通過將多個物件序列化到乙個大物件(lob)中來儲存乙個物件圖,並儲存在乙個資料庫欄位中。

資料庫必須支援二進位制型別

常與xml共用。

(7)單錶繼承:將類的繼承層次表示為乙個單錶,表中各列代表不同類中的所有域。

單錶繼承把乙個繼承結構中所有類的所有域都對映到乙個單錶中。每個類負責將與之相關的資料儲存在表的一行中,資料庫中其他不相關的列則留空。

(8)類表繼承:用每個類對應乙個表來表示類的繼承關係。

類表繼承實現中的最大問題是如何用一種有效的方式把資料從多個表中取回。

(9)具體表繼承:用每個具體類對應乙個表來表示類的繼承層次。

每乙個表中的列都對應著具體類和這個具體類的所有祖先類,因此超類中的任何域在子類的表中都會被複製。

與葉表繼承類似

《企業應用架構模式》 分層

在系統的分層組織方式下,上層通過介面使用下層定義的各種服務,下層對上層一無所知。每一層都對自己的上層隱藏其下層的細節,因此第4層無需知道第2層的細節。分層的好處 1.可以專注理解某一層,無需過多了解其他層次 2.可以替換某層的具體實現,只要前後提供的服務 介面 相同即可 3.可以將層次間的依賴性減到...

接觸《企業應用架構模式》

國慶七天的長假,過得有些昏昏冉冉。那麼期待的長假,在狠狠飽睡幾天之後居然有點想上班了,唉,真是 j 啊 前天去南山新開業的書城,沒有找到 企業應用架構模式 martin fowler著 呵,今天早上在 china pub 上下了訂單,中午就收到書了。趕快看了前面幾章,真是暢快之極啊!雖然有些東西我也...

企業應用架構模式之Web表現模式

1 mvc 把使用者介面互動分拆到不同的三種角色模型 檢視 與控制器上。模型表示領域資訊物件 檢視表示ui中模型的顯示 控制器獲得使用者輸入,對模型進行操作並更新檢視。mvc關注兩個分離 從模型中分離表現和從檢視中分離控制器。2 頁面控制器 在web 站點上為特定頁面或者動作處理請求的物件。頁面控制...