企業(yè)應(yīng)用架構(gòu)模式之工作單元模式
工作單元模式是一種對(duì)象-關(guān)系行為模式。其定義如下:維護(hù)受業(yè)務(wù)影響的對(duì)象列表,并協(xié)調(diào)變化和并發(fā)問題的解決。
該模式主要考慮的問題是:數(shù)據(jù)庫的數(shù)據(jù)讀入內(nèi)存后的數(shù)據(jù)對(duì)象,被改變后在什么時(shí)機(jī)提交。一般而言,可以有兩種提交方式,即時(shí)提交和擇機(jī)提交。
(1)即時(shí)提交:當(dāng)對(duì)象改變的時(shí)候馬上提交到數(shù)據(jù)庫。這樣的好處是不需要維護(hù)一個(gè)受影響對(duì)象的列表,但是會(huì)導(dǎo)致數(shù)據(jù)庫的連接操作過多,影響性能。而且,它對(duì)性能的影響會(huì)導(dǎo)致系統(tǒng)響應(yīng)變慢。
(2)用工作單元保存對(duì)象的變化,擇機(jī)提交。 擇機(jī)提交需要考慮兩方面的事情,對(duì)象變化的記錄與提交時(shí)機(jī)。
對(duì)象變化的記錄可以考慮以下3種方法:
a,調(diào)用者注冊(cè),數(shù)據(jù)對(duì)象用isDirty的標(biāo)識(shí),調(diào)用者改變數(shù)據(jù)對(duì)象后,將該標(biāo)識(shí)置為True。
b,對(duì)象注冊(cè),對(duì)象的每個(gè)Setting方法都會(huì)自動(dòng)將isDirty的標(biāo)識(shí)置為True。
c,拷貝對(duì)象:(1)讀操作時(shí)拷貝,在提交的時(shí)候比較當(dāng)前對(duì)象與拷貝對(duì)象,看對(duì)象是否發(fā)生了改變。(2)寫操作時(shí)拷貝,一旦對(duì)象發(fā)生寫操作,拷貝對(duì)象,提交時(shí)把所有對(duì)象直接提交即可
提交時(shí)機(jī)也可以考慮以下方法:
a,定時(shí)提交,使用定時(shí)器,隔固定時(shí)間提交一次。
b,修改累積到一定量的時(shí)候提交,設(shè)置一個(gè)受影響對(duì)象個(gè)數(shù)的閾值,當(dāng)達(dá)到閾值的時(shí)候提交。
c,退出時(shí)提交,退出系統(tǒng)是提交修改。
原文鏈接:http://blog.csdn.net/luoxinwu123/article/details/8043042
































