設計模式 7 模板(從事務處理應用的模板)

2022-02-01 05:28:41 字數 765 閱讀 4991

首先看乙個對於資料庫操作的程式:

#include using namespace std;

class dataoper

我們看執行結果有多個重複的操作

如何避免呢,就是使用模板把我們不需要重複操作的地方封裝起來。

看一下新版**:

#include using namespace std;

class datatemplate

執行一下結果:

結果相同,但是看看我們的類裡少了很多處理程式,我們只需要關心我們要處理的業務邏輯就可以了。

模板方法的效用一:節省子類**。

這樣,如果我們在父類把方法全部abstract,那麼我們就沒有做到減少子類**的作用。

因此,寫模板方法很容易,但是寫乙個好的模板方法就沒那麼容易了。

我們要做到良好的抽取,把固定的實現方法放在父類方法中去實現。

模板方法效用二:防止呼叫操作

在很多關於設計模式的書上,都是把父類的模板方法換成了乙個簡單的方法的堆積,如display**1,display*2等等。這樣就給很多讀者造成了一種錯覺,覺得模板方法就是去呼叫下面的方法,其實並不盡然。

後面會繼續談到與其它模式的運用組合。

設計模式 7 模板(從事務處理應用的模板)

首先看乙個對於資料庫操作的程式 divclass cnblogs highlighter include usingnamespacestd classdataoper voidupdatestu voiddeletestu voidmain 我們看執行結果有多個重複的操作 如何避免呢,就是使用模板...

設計模式 7 模板(從事務處理應用的模板)

首先看乙個對於資料庫操作的程式 include using namespace std class dataoper 我們看執行結果有多個重複的操作 如何避免呢,就是使用模板把我們不需要重複操作的地方封裝起來。看一下新版 include using namespace std class datat...

應用系統中的事務處理

在應用系統中,我們往往需要對資料和事務進行訪問和處理,為了分離資料訪問和業務邏輯我們引入了dao,但在dao中處理事務也是一件重複無聊的工作,那麼我們可以採用現有的容器管理的事務如ejb和spring 我個人比較喜歡spring,但是如果我們不想採用這些容器那怎麼辦呢.我在這裡實現了乙個簡單的動態事...