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