国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

第十一天-《企業(yè)應(yīng)用架構(gòu)模式》-對(duì)象-關(guān)系行為模式

KavenFan / 3108人閱讀

摘要:工作單元用于維護(hù)受業(yè)務(wù)事務(wù)影響的對(duì)象列表,并協(xié)調(diào)變化的寫入和并發(fā)問題的解決。工作單元控制器工作單元控制所有數(shù)據(jù)庫的讀操作,一旦對(duì)象被讀取,將將它注冊為干凈的對(duì)象。

1. 工作單元

用于維護(hù)受業(yè)務(wù)事務(wù)影響的對(duì)象列表,并協(xié)調(diào)變化的寫入和并發(fā)問題的解決。如下:

1)運(yùn)行機(jī)制: 關(guān)鍵:

是提交時(shí),決定要做什么。它打開一個(gè)事務(wù),做所有的并發(fā)檢查(使用悲觀離線鎖或樂觀離線鎖)并向數(shù)據(jù)庫寫入所做的修改。(開發(fā)人員根本不用顯示調(diào)用數(shù)據(jù)庫更新方法)

記錄對(duì)象更新的方法:

調(diào)用者注冊方式:用戶如果改變了某個(gè)對(duì)象就必須將他注冊到工作單元,任何沒有注冊的對(duì)象提交時(shí)都不會(huì)寫入數(shù)據(jù)庫。

 
      

對(duì)象注冊方式:注冊方法置于對(duì)象中,從數(shù)據(jù)庫加載對(duì)象會(huì)將加載的對(duì)象注冊為“干凈”的,setting方法將要設(shè)置的對(duì)象注冊為“臟”的。

 
       

工作單元控制器:工作單元控制所有數(shù)據(jù)庫的讀操作,一旦對(duì)象被讀取,將將它注冊為“干凈”的對(duì)象。工作單元在讀操作時(shí)將產(chǎn)生一個(gè)拷貝,在提交時(shí)比較當(dāng)前對(duì)象和拷貝對(duì)象(這種的辦法是指發(fā)生改變的對(duì)象),看對(duì)象是否發(fā)生了改變。

 
       

用途:數(shù)據(jù)庫(使用引用完整性時(shí)保證更新順序、批量更新)、事務(wù)資源(調(diào)整消息隊(duì)列、事務(wù)監(jiān)控)

.Net環(huán)境工作單元實(shí)現(xiàn):使用無連接的數(shù)據(jù)集,每一行都有版本(當(dāng)前版本、原始版本、建議版本)、狀態(tài)(不變、增加、刪除、修改)概念

2)使用時(shí)機(jī):

基本目的:記錄操作過的各種對(duì)象,以便知道為了使內(nèi)存中數(shù)據(jù)與數(shù)據(jù)庫同步需要考慮哪些對(duì)象。

2. 標(biāo)識(shí)映射

通過在映射中保存每個(gè)已經(jīng)加載的對(duì)象,確保每個(gè)對(duì)象只加載一次。當(dāng)要訪問對(duì)象時(shí),通過映射來查找它們。


  

1)運(yùn)行機(jī)制:

鍵選擇:

數(shù)據(jù)表主鍵(或其他簡單的數(shù)據(jù)類型)

顯示的還是通用的(如findPerson(1),還是find("Person", 1)?):當(dāng)所有對(duì)象鍵類型相同時(shí)使用通用的,其他情況下使用顯示的

數(shù)量(單映射、多映射):(沒看明白)

標(biāo)識(shí)映射存放位置:有工作單元時(shí),放在工作單元;沒有工作單元時(shí),捆綁到會(huì)話的注冊表

2)使用時(shí)機(jī):

一般來說,用一個(gè)標(biāo)識(shí)映射來管理所有修改了的數(shù)據(jù)庫讀出數(shù)據(jù);

作為數(shù)據(jù)庫讀取操作的告訴緩存。

3. 延遲加載

一個(gè)對(duì)象,它雖然不包含所需要的所有數(shù)據(jù),但是知道怎么獲取這些數(shù)據(jù)

1)運(yùn)行機(jī)制: 4種實(shí)現(xiàn)方法:

延遲初始化:

實(shí)現(xiàn)思想:每次訪問屬性域都要先檢查該域是否為空。如果為空,在返回域值之前計(jì)算出這個(gè)域的值(注意這個(gè)域需要自封裝,即便是類的內(nèi)部也只能通過它來訪問)

優(yōu)缺點(diǎn):簡單,但往往會(huì)在對(duì)象和數(shù)據(jù)庫間強(qiáng)加依賴關(guān)系

適用場景:活動(dòng)記錄、表數(shù)據(jù)庫入口、行數(shù)據(jù)入口

虛代理:

定義:虛代理是這樣一個(gè)對(duì)象,它看起來應(yīng)該是域中的一個(gè)對(duì)象,但實(shí)際上它并不包含任何東西。只有當(dāng)他的一個(gè)方法被調(diào)用時(shí),它才從數(shù)據(jù)庫加載適當(dāng)?shù)膶?duì)象

優(yōu)缺點(diǎn):看上去完全就是需要的對(duì)象,但并不真的是那個(gè)對(duì)象,容易陷入標(biāo)識(shí)問題;同一個(gè)實(shí)對(duì)象,可能有多個(gè)不同對(duì)象特征的虛代理(需要覆蓋Equals方法,而不用標(biāo)識(shí)方法)

適用場景:數(shù)據(jù)映射器

值保持器:

實(shí)現(xiàn)思想:要想獲取某對(duì)象,可以訪問值保持器得到它的值,但只有第一次訪問值保持器時(shí)它才真正從數(shù)據(jù)庫讀取數(shù)據(jù)

優(yōu)缺點(diǎn):可避免標(biāo)識(shí)問題;類需要知道值保持器的存在,喪失強(qiáng)數(shù)據(jù)類型顯式性;

重影:

實(shí)現(xiàn)思想:當(dāng)從數(shù)據(jù)庫加載對(duì)象時(shí),它只包含其ID。當(dāng)每次要訪問某個(gè)域時(shí),它就會(huì)加載其完全狀態(tài)(可以把域數(shù)據(jù)分為不同組,按需加載)

延遲加載的問題:

繼承(虛代理、重影,需要知道要?jiǎng)?chuàng)建什么類型的重影或虛對(duì)象);

波動(dòng)加載(產(chǎn)生超出需要的數(shù)據(jù)庫訪問),影響應(yīng)用程序性能(解決辦法:不適用延遲加載集合中的項(xiàng),但集合整體可以延遲加載)

適用場景:面向方面的程序(將延遲加載置于一個(gè)多帶帶的方面,能獨(dú)立改變延遲加載策略)

2)使用時(shí)機(jī):

最佳時(shí)機(jī):需要額外的調(diào)用,并且當(dāng)使用主對(duì)象時(shí)所調(diào)用的數(shù)據(jù)沒有到的時(shí)候(取決于加載一個(gè)對(duì)象時(shí)需要從數(shù)據(jù)庫讀取多少數(shù)據(jù)和數(shù)據(jù)庫調(diào)用的次數(shù))

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30066.html

相關(guān)文章

  • 一天-《企業(yè)應(yīng)用架構(gòu)模式》-分層

    摘要:分層優(yōu)缺點(diǎn)優(yōu)點(diǎn)在無需過多了解其他層次的基礎(chǔ)上,可以將某一層作為一個(gè)有機(jī)整體來理解可以替換某層的具體實(shí)現(xiàn),只要前后提供的服務(wù)相同即可可以將層次間的依賴性減到最低分層有利于標(biāo)準(zhǔn)化工作一旦構(gòu)建好了某一層次,就可以用它為很多上層服務(wù)提供支持缺點(diǎn)層次 1. 分層優(yōu)缺點(diǎn): 1)優(yōu)點(diǎn): 在無需過多了解其他層次的基礎(chǔ)上,可以將某一層作為一個(gè)有機(jī)整體來理解; 可以替換某層的具體實(shí)現(xiàn),只要前后提供的服務(wù)...

    CHENGKANG 評(píng)論0 收藏0
  • 三天-《企業(yè)應(yīng)用架構(gòu)模式》-映射到關(guān)系數(shù)據(jù)庫

    摘要:如果數(shù)據(jù)非常類似,可把數(shù)據(jù)從內(nèi)存方案中轉(zhuǎn)化到邏輯數(shù)據(jù)存儲(chǔ)方案,映射從邏輯數(shù)據(jù)存儲(chǔ)方案到實(shí)際物理存儲(chǔ)方案第二部包含區(qū)別使用元數(shù)據(jù)元數(shù)據(jù)映射基于把映射濃縮到元數(shù)據(jù)文件的方法。元數(shù)據(jù)文件詳細(xì)描述數(shù)據(jù)庫中列如何映射到對(duì)象的域。 關(guān)系數(shù)據(jù)庫之所以取得成功,最重要的原因之一就是SQL的存在,它是數(shù)據(jù)庫通信標(biāo)準(zhǔn)語言。 1. 架構(gòu)模式: 驅(qū)動(dòng)領(lǐng)域邏輯訪問數(shù)據(jù)的方式: SQL語句嵌入在程序設(shè)計(jì)語言中; ...

    chenatu 評(píng)論0 收藏0
  • 九天-《企業(yè)應(yīng)用架構(gòu)模式》-領(lǐng)域邏輯模式

    摘要:領(lǐng)域模型應(yīng)當(dāng)使用細(xì)粒度的對(duì)象,這些對(duì)象應(yīng)有細(xì)粒度的接口。它封裝了應(yīng)用的業(yè)務(wù)邏輯事務(wù)控制及其操作實(shí)現(xiàn)中的響應(yīng)協(xié)調(diào)。 1. 事務(wù)腳本 1)調(diào)用數(shù)據(jù)庫: 事務(wù)腳本將所有邏輯組成單個(gè)過程,在過程中直接調(diào)用數(shù)據(jù)庫,或者只通過一個(gè)簡單的數(shù)據(jù)庫封存器。 2)腳本處理: 每個(gè)事務(wù)都有自己的事務(wù)腳本,盡管事務(wù)間的公共子任務(wù)可以被分解成多個(gè)子程序。 3)運(yùn)行機(jī)制: a.事務(wù)腳本應(yīng)該置于與其他處理表現(xiàn)層和數(shù)...

    pinecone 評(píng)論0 收藏0
  • 必看!互聯(lián)網(wǎng)開發(fā)模式的經(jīng)驗(yàn)之談

    摘要:架構(gòu)設(shè)計(jì)實(shí)體化單元測試敏捷開發(fā)講究要快速的修改代碼,我們往往會(huì)發(fā)現(xiàn),代碼修改的越頻繁,越多,這似乎是一個(gè)無法解決的矛盾。 本文由云+社區(qū)發(fā)表,作者:韓偉 互聯(lián)網(wǎng)開發(fā)的核心問題 當(dāng)我1999年進(jìn)入互聯(lián)網(wǎng)行業(yè)工作的時(shí)候,華為剛剛通過了著名的CMM認(rèn)證。當(dāng)時(shí)作為一個(gè)小程序員,非常向往業(yè)界經(jīng)典的軟件開發(fā)模式。因?yàn)榭瓷先ィ绻髽I(yè)實(shí)行了CMM,我們程序員就不用再天天為了老板一個(gè)拍腦袋的主意而加班...

    寵來也 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<