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

資訊專欄INFORMATION COLUMN

第九天-《企業(yè)應(yīng)用架構(gòu)模式》-領(lǐng)域邏輯模式

pinecone / 2762人閱讀

摘要:領(lǐng)域模型應(yīng)當使用細粒度的對象,這些對象應(yīng)有細粒度的接口。它封裝了應(yīng)用的業(yè)務(wù)邏輯事務(wù)控制及其操作實現(xiàn)中的響應(yīng)協(xié)調(diào)。

1. 事務(wù)腳本 1)調(diào)用數(shù)據(jù)庫:

事務(wù)腳本將所有邏輯組成單個過程,在過程中直接調(diào)用數(shù)據(jù)庫,或者只通過一個簡單的數(shù)據(jù)庫封存器。

2)腳本處理:

每個事務(wù)都有自己的事務(wù)腳本,盡管事務(wù)間的公共子任務(wù)可以被分解成多個子程序。

3)運行機制:

a.事務(wù)腳本應(yīng)該置于與其他處理表現(xiàn)層和數(shù)據(jù)源層的類相獨立的類中,把事務(wù)腳本組織成類的兩種方法:

a. 將數(shù)個事務(wù)腳本放在一個類中,每個類圍繞一個主題將相關(guān)的事務(wù)腳本組織在一起;

b. 使用Command模式,每一個事務(wù)腳本對應(yīng)一個類 (command)

4)使用時機:

業(yè)務(wù)邏輯簡單場景(同時注意謹慎提取公共子程序以減少代碼冗余),當業(yè)務(wù)復(fù)雜時則需要建立領(lǐng)域模型

5)優(yōu)點:

當問題本身是簡單的時,使用事務(wù)腳本可以加快開發(fā)速度,而且運行更快

6)示例:

假如有如下需求:

數(shù)據(jù)庫設(shè)計為:

其中,RevenueRecognition表引用Contract表的Id作為外鍵。根據(jù)需求和數(shù)據(jù)庫設(shè)計,事務(wù)腳本類圖設(shè)計為:

這里,Gateway為數(shù)據(jù)庫訪問封存器,RecognitionServices為事務(wù)腳本類。CalculateRevenueRecognitions方法用于計算并保存需入賬信息(合同編號、時間、收費金額),RecognizedRevenue用于按照合同編號、指定日期查詢已收費用。應(yīng)用程序只需要分別單個調(diào)取這2個方法即可。

2. 領(lǐng)域模型 1)運行機制

領(lǐng)域模型與數(shù)據(jù)庫模型的區(qū)別:領(lǐng)域模型混合數(shù)據(jù)和處理過程,擁有多值屬性和復(fù)雜的關(guān)聯(lián)網(wǎng),并且使用繼承、策略、設(shè)計模式,是一張由互聯(lián)的細粒度對象組成的復(fù)雜網(wǎng)絡(luò);

使用領(lǐng)域邏輯的一個常見問題: 領(lǐng)域?qū)ο筮^于臃腫,可能會產(chǎn)生冗余代碼

數(shù)據(jù)庫映射:簡單領(lǐng)域模型可以使用活動記錄,而復(fù)雜領(lǐng)域模型需要使用數(shù)據(jù)映射器。

領(lǐng)域模型應(yīng)當使用細粒度的對象,這些對象應(yīng)有細粒度的接口。

2)使用時機

當業(yè)務(wù)規(guī)則復(fù)雜多變,涉及到校驗、計算、衍生時。

數(shù)據(jù)庫交互方式:首選數(shù)據(jù)映射器

3)示例:

對于上文中需求,設(shè)計類圖如下:
    

可以看到,這里收費方式使用了策略模式。

3. 表模塊

表模塊以一個類對應(yīng)數(shù)據(jù)庫中的一個表來組織領(lǐng)域邏輯,而且使用單一的類實例來包含將對數(shù)據(jù)進行的各種操作程序。

表模塊與領(lǐng)域邏輯的區(qū)別:如果有多個訂單,領(lǐng)域模型對每個訂單都有一個對象,而表模塊則只用一個對象來處理所有訂單(表模塊沒有標識符來標出它所代表的實體對象)。

1)運行機制

長處:允許你將數(shù)據(jù)與行為封裝在一起,同時有可以充分利用關(guān)系數(shù)據(jù)庫的優(yōu)點

2)使用時機

當使用記錄集存取表數(shù)據(jù)時使用(表模塊很大程度上依賴于以表方式組織的數(shù)據(jù))
  

3)示例:

設(shè)計類圖如下:
  
    

4. 服務(wù)層

服務(wù)層定義了應(yīng)用的邊界和從接口客戶層角度所能看到的可用操作集。它封裝了應(yīng)用的業(yè)務(wù)邏輯、事務(wù)控制及其操作實現(xiàn)中的響應(yīng)協(xié)調(diào)。
  

1)運行機制

業(yè)務(wù)邏輯分類:領(lǐng)域邏輯、應(yīng)用邏輯

兩種基本的實現(xiàn)方法:

領(lǐng)域外觀方法:

服務(wù)層以領(lǐng)域模型之上的瘦外觀集合方式實現(xiàn)(負責實現(xiàn)外觀的類不包含任何業(yè)務(wù)邏輯,所有業(yè)務(wù)邏輯均由領(lǐng)域模型實現(xiàn))

操作腳本方法:

服務(wù)層由一組相對復(fù)雜的類組成,這些類直接實現(xiàn)應(yīng)用邏輯,但將領(lǐng)域邏輯委托給封裝好的領(lǐng)域?qū)ο箢?/p>

服務(wù)層接口時粗粒度的,必要時候可以遠程調(diào)用(在服務(wù)層之上增加遠程外觀或者直接讓服務(wù)層實現(xiàn)遠程接口)
  

2)使用時機 服務(wù)層優(yōu)點:

它定義了一個公共的應(yīng)用操作集合,這個集合可被各種客戶使用,而且服務(wù)層在每個操作中都會協(xié)調(diào)應(yīng)用的響應(yīng)。

當業(yè)務(wù)邏輯有多種客戶,或者用例響應(yīng)中的多個事務(wù)性資源,則需要服務(wù)層

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

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

相關(guān)文章

  • 十天-《企業(yè)應(yīng)用架構(gòu)模式》-數(shù)據(jù)源架構(gòu)模式

    摘要:運行機制表數(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,如...

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

    摘要:模型抉擇領(lǐng)域邏輯復(fù)雜度抉擇領(lǐng)域邏輯復(fù)雜度較低時,選擇事物腳本如果開發(fā)環(huán)境擁有大量基于記錄集的工具和,可以選擇表模塊開發(fā)小組經(jīng)驗豐富時,選擇領(lǐng)域模型種模式并不互相排斥,可以同時使用服務(wù)層服務(wù)層是從領(lǐng)域?qū)臃蛛x出來的,用于置于底層的領(lǐng)域模型或表模 1. 模型抉擇: 1)領(lǐng)域邏輯復(fù)雜度:   showImg(https://segmentfault.com/img/remote/1460000...

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

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

    chenatu 評論0 收藏0
  • 企業(yè)應(yīng)用架構(gòu)模式-30天閱讀計劃

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

    null1145 評論0 收藏0
  • 一文讀懂微服務(wù)架構(gòu)的重構(gòu)策略

    摘要:相反,它由單體中的適配器和使用一個或多個進程間通信機制的服務(wù)組成。因為微服務(wù)架構(gòu)的本質(zhì)是一組圍繞業(yè)務(wù)功能組織的松耦合服務(wù)。如果你嘗試將此類功能實現(xiàn)為服務(wù),則通常會發(fā)現(xiàn),由于過多的進程間通信而導(dǎo)致性能下降。這是快速展示微服務(wù)架構(gòu)價值的好方法。你很有可能正在處理大型復(fù)雜的單體應(yīng)用程序,每天開發(fā)和部署應(yīng)用程序的經(jīng)歷都很緩慢而且很痛苦。微服務(wù)看起來非常適合你的應(yīng)用程序,但它也更像是一項遙不可及的必殺...

    jaysun 評論0 收藏0

發(fā)表評論

0條評論

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