正文

業(yè)務(wù)邏輯層:組織(2)

ASP.NET設(shè)計(jì)模式 作者:(美)Scott Millett


4.1  理解業(yè)務(wù)組織模式

并非所有應(yīng)用程序都是一樣的,也并非所有應(yīng)用程序都需要復(fù)雜的體系結(jié)構(gòu)來封裝系統(tǒng)的業(yè)務(wù)邏輯。作為開發(fā)者,重要的是要理解所有領(lǐng)域邏輯模式的優(yōu)缺點(diǎn),這樣才能使用最合適的模式。

4.1.1  Transaction Script

在本章要學(xué)習(xí)的4種領(lǐng)域邏輯模式中,Transaction Script是最易于理解、掌握和運(yùn)用的模式。Transaction Script模式遵循的是過程式開發(fā)風(fēng)格而不是面向?qū)ο蠓椒?。通常,為每個(gè)業(yè)務(wù)事務(wù)創(chuàng)建一個(gè)單獨(dú)的方法,并將它們組合起來放入某種靜態(tài)管理程序或服務(wù)類。每個(gè)過程都包含了完成業(yè)務(wù)事務(wù)所需的所有業(yè)務(wù)邏輯,包括工作流、業(yè)務(wù)規(guī)則和數(shù)據(jù)庫持久化驗(yàn)證檢查。圖4-1(圖略)所示為Transaction Script模式的圖形表示。

Transaction Script模式的一個(gè)優(yōu)勢是它易于理解,很快就可以讓團(tuán)隊(duì)新成員上手而不需要具有該模式的預(yù)備知識。當(dāng)出現(xiàn)新需求時(shí),很容易向該類中添加更多方法,而不用擔(dān)心影響或破壞現(xiàn)有功能。

Transaction Script模式非常適于那些邏輯中只包含很少或不包含可能增長的功能集合的小型應(yīng)用程序,以及有不熟悉面向?qū)ο缶幊谈拍畹某跫夐_發(fā)者的團(tuán)隊(duì)。

當(dāng)應(yīng)用程序變大而且業(yè)務(wù)邏輯變得更復(fù)雜時(shí),Transaction Script模式的問題就會(huì)暴露出來。擴(kuò)展應(yīng)用程序時(shí),方法的數(shù)目也會(huì)變多,從而形成一個(gè)充斥著功能交疊的細(xì)粒度方法的無用API。盡管可以使用子方法來避免代碼重復(fù),如驗(yàn)證和業(yè)務(wù)規(guī)則,但在工作流中的復(fù)制不可避免,而且當(dāng)應(yīng)用程序規(guī)模變大時(shí),代碼基很快會(huì)變得笨重且不可維護(hù)。

因?yàn)門ransaction Script模式非常簡單,所以無需一個(gè)練習(xí)來完整地演示它。相反,考慮下面的代碼段,它取自于一個(gè)人力資源休假登記應(yīng)用程序,有助于了解一下該模式的實(shí)際用法:


上一章目錄下一章

Copyright ? 讀書網(wǎng) www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號