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

資訊專欄INFORMATION COLUMN

第十天-《企業(yè)應用架構模式》-數(shù)據(jù)源架構模式

Drummor / 1123人閱讀

摘要:運行機制表數(shù)據(jù)入口包含了用于訪問單個表或試圖的所有,如選擇插入更新刪除等。其他代碼調(diào)用它的方法來實現(xiàn)所有與數(shù)據(jù)庫的交互。示例如下圖分別是普通情況下充分利用特征下的表數(shù)據(jù)入口實現(xiàn)行數(shù)據(jù)入口充當數(shù)據(jù)源中單條記錄入口的對象,每行一個實例。

1. 表數(shù)據(jù)入口

  充當數(shù)據(jù)庫表訪問入口的對象,一個實例處理表中所有的行。

1)運行機制:

    表數(shù)據(jù)入口包含了用于訪問單個表或試圖的所有SQL,如選擇、插入、更新、刪除等。其他代碼調(diào)用它的方法來實現(xiàn)所有與數(shù)據(jù)庫的交互。
    表數(shù)據(jù)入口可以和表模塊一起使用,它產(chǎn)生一個記錄集數(shù)據(jù)結構由表模塊處理

2)使用時機:

    數(shù)據(jù)入口特別適用于事務腳本,行數(shù)據(jù)入口和表數(shù)據(jù)入口間的選擇歸結于如何處理多數(shù)據(jù)行,當結果集的表現(xiàn)便于事務腳本處理時,用表數(shù)據(jù)入口。

3)示例:

    如下2圖分別是普通情況下、充分利用.net特征下的表數(shù)據(jù)入口實現(xiàn):

    

    

2. 行數(shù)據(jù)入口

  充當數(shù)據(jù)源中單條記錄入口的對象,每行一個實例。

1)運行機制:

    特征:行數(shù)據(jù)入口是和單條記錄及其相似的對象,如數(shù)據(jù)庫中的一行(該對象中數(shù)據(jù)庫中的每一列變成了一個域)

    問題:在哪里存放產(chǎn)生該模式的查找操作?鑒于選擇靜態(tài)查找方法不支持為不同數(shù)據(jù)源提供不同查找方法的多態(tài),需要設置多帶帶的查找方法對象(這樣關系數(shù)據(jù)庫每一張表都一個查找方法類和入口來獲得結果)

    行數(shù)據(jù)入口和活動記錄之間的區(qū)別:是否存在任何領域邏輯,如果存在,則是活動記錄

2)使用時機:

    事務腳本(關于表數(shù)據(jù)入口和行數(shù)據(jù)入口之間的選擇,參考表數(shù)據(jù)入口)

    行數(shù)據(jù)入口可以和數(shù)據(jù)映射器一起配合使用:行數(shù)據(jù)入口從元數(shù)據(jù)自動生成,數(shù)據(jù)映射器由手動實現(xiàn)

3)實例:

    

3. 活動記錄

  一個對象,它包含數(shù)據(jù)庫表或視圖中的某一行,封裝數(shù)據(jù)庫訪問,并在這些數(shù)據(jù)上增加了領域邏輯

1)運行機制:

    活動記錄的本質(zhì)是一個領域模型,這個領域模型中的類和基數(shù)據(jù)庫中記錄結構十分吻合。

    活動記錄通常具有如下方法:

      由SQL結果集中的一行構造一個活動記錄實例;

      為將來對表的插入構造一個新的實例;

      用靜態(tài)查找方法來包裝常用的SQL查詢和返回活動記錄(也可以分離為一個多帶帶的類);

      更新數(shù)據(jù)庫并將活動記錄中的數(shù)據(jù)插入數(shù)據(jù)庫;

      獲取或設置域;

      實現(xiàn)部分業(yè)務邏輯。

2)使用時機:

    適合于創(chuàng)建、讀、更新、刪除等不太復雜的領域邏輯;

    優(yōu)點:簡單,容易創(chuàng)建,易于理解;

    缺點:要求對象的設計和數(shù)據(jù)庫的設計緊耦合,項目中難以進一步重構;當業(yè)務邏輯復雜,對象間有引用、集合和繼承等關心時,難以映射到活動記錄

3)示例:

    

    其中,標圈的是領域邏輯實現(xiàn)。

4. 數(shù)據(jù)映射器

  在保持對象和數(shù)據(jù)庫(以及映射器本身)彼此獨立的情況下在二者之間移動數(shù)據(jù)的一個映射器層,如下:
    

1)運行機制:

    主要功能:分離領域和數(shù)據(jù)源

    延時加載

    基于元數(shù)據(jù)的映射

2)使用時機:

    業(yè)務邏輯復雜,數(shù)據(jù)庫方案和對象模型需要彼此獨立演變時

3)實例:

    
    其中,DataMapper實現(xiàn)了IPersonFinder接口,用于查找方法實現(xiàn)。

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30072.html

相關文章

  • 九天-《企業(yè)應用架構模式》-領域邏輯模式

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

    pinecone 評論0 收藏0
  • 企業(yè)應用架構模式-30天閱讀計劃

    摘要:企業(yè)應用在某些方面要比電信軟件簡單得多多線程問題沒有那么困難,無需關注硬件設備與軟件的集成。但是,在某些方面,企業(yè)應用又比電信軟件復雜得多企業(yè)應用一般都涉及到大量復雜數(shù)據(jù),而且必須處理很多不合邏輯的業(yè)務規(guī)則。 構建計算機系統(tǒng)并非易事。隨著系統(tǒng)復雜性的增大,構建相應軟件的難度將呈指數(shù)增大。 同其他行業(yè)一樣,我們只有在不斷的學習中進步,從成功經(jīng)驗中學習,從失敗教訓中學習,才有望克服這些困難...

    null1145 評論0 收藏0
  • TiDB 在銀行核心金融領域的研究與兩地三中心實踐

    摘要:本文整理自于振華老師在上的演講實錄,演講主題為在銀行核心金融領域的研究與實踐。年月,我們投產(chǎn)了行業(yè)內(nèi)首個面向核心金融業(yè)務的分布式數(shù)據(jù)庫,采用的是兩地三中心五副本的架構模式。 作者介紹:于振華,北京銀行軟件開發(fā)部資深架構師,長期從事銀行核心系統(tǒng)研發(fā)、規(guī)劃,參與過多個核心信息系統(tǒng)建設工作,包括一、二代支付系統(tǒng)、第四代銀行核心系統(tǒng)建設、分布式核心系統(tǒng)建設等企業(yè)級項目工作。當前主要研發(fā)方向集中...

    sourcenode 評論0 收藏0
  • 十一天-《企業(yè)應用架構模式》-對象-關系行為模式

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

    KavenFan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<