簡易後端處理商業邏輯的方式-系統架構篇

在常見的API設計中,透過接收參數到後端服務中,再透過一連串資料操作的邏輯再寫入資料庫或做額外的操作。

這時情況會像是下面這樣:

因為有過多的操作,且這些操作可能在其他的API也會遇到
此時,就可以把他們抽出來成:處理程序(Handler)

透過Handler,把相同的服務可以用的Method或Function整理在一起。

舉個例子:
有支API叫做建立訂單(CreateOrder)
他可能的商業邏輯操作如:建立訂單、修正庫存…等等。
那我們就可以把它抽出來叫做OrderHandler,把複雜的商業邏輯封裝在裡面。

這時如果要使用到建立訂單時就能透過這Handler去幫我們處理。

1
OrderHandler.CreateOrder()

比如API叫做:

1
/Order/CreateOrder

那他的Controller裡面就可以這樣寫

OrderController裡的Action(CreateOrder)就能呼叫OrderHandler.CreateOrder()去協助建立訂單的操作。

這樣做的好處是能集中管理服務的功能,比較不會遇到全都散在Controller的情況。此外,其他Controller要使用到相同的功能,只要呼叫該Handler,而不用整段複製過去。