Command Bus

2018-02-23 16:24 更新

簡介

Command bus 提供一個簡便的方法來封裝任務,使你的程序更加容易閱讀與執(zhí)行,為了幫助我們更加了解使用「命令」的目的,讓我們來模擬建立一個可以購買 podcast 的網(wǎng)站。

用戶購買 podcasts 的過程中需要做很多事。例如,我們需要從用戶的信用卡扣款,將紀錄添加到數(shù)據(jù)庫以表示購買,并發(fā)送購買確認的電子郵件,或許,我們還需要進行許多驗證來確認用戶是否可以購買。

我們可以將這些邏輯通通放在控制器的方法內(nèi),然而,這樣做會有一些缺點,首先,控制器可能還需要處理許多其他的 HTTP 請求,包含復雜的邏輯,這會讓控制器變得很臃腫且難易閱讀,第二點,這些邏輯無法在這個控制器以外被重復使用,第三,這些命令無法被單元測試,為此我們還得額外產(chǎn)生一個 HTTP 請求,并向網(wǎng)站進行完整購買 podcast 的流程。

比起將邏輯放在控制器內(nèi),我們可以選擇使用一個「命令」對象來封裝它,如 PurchasePodcast 命令。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號