W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
Command bus 提供一個簡便的方法來封裝任務(wù),使你的程序更加容易閱讀與執(zhí)行,為了幫助我們更加了解使用「命令」的目的,讓我們來模擬建立一個可以購買 podcast 的網(wǎng)站。
用戶購買 podcasts 的過程中需要做很多事。例如,我們需要從用戶的信用卡扣款,將紀(jì)錄添加到數(shù)據(jù)庫以表示購買,并發(fā)送購買確認(rèn)的電子郵件,或許,我們還需要進(jìn)行許多驗(yàn)證來確認(rèn)用戶是否可以購買。
我們可以將這些邏輯通通放在控制器的方法內(nèi),然而,這樣做會有一些缺點(diǎn),首先,控制器可能還需要處理許多其他的 HTTP 請求,包含復(fù)雜的邏輯,這會讓控制器變得很臃腫且難易閱讀,第二點(diǎn),這些邏輯無法在這個控制器以外被重復(fù)使用,第三,這些命令無法被單元測試,為此我們還得額外產(chǎn)生一個 HTTP 請求,并向網(wǎng)站進(jìn)行完整購買 podcast 的流程。
比起將邏輯放在控制器內(nèi),我們可以選擇使用一個「命令」對象來封裝它,如 PurchasePodcast 命令。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: