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