如何寫復(fù)雜業(yè)務(wù)代碼,簡化if else

方法:過程分解 + 對象模型

過程分解:通過分解,將過程分階段,各階段分步驟


image.png

對象模型:過程分解,缺少業(yè)務(wù)表達(dá)能力,無法復(fù)用業(yè)務(wù)流程,所以需要模型,自下而上,把多個(gè)模型共同點(diǎn)抽離出來成為一個(gè)共通模型


image.png

實(shí)踐:代碼分離 + 多態(tài)

如何自上而下分離出步驟,如何自下而上抽離出模型,答案是:多維思考,矩陣分析。
以商品上架為例,橫軸將步驟羅列,歸類后,分為創(chuàng)建商品,上架商品,上架審核通過,上架審核拒絕這幾個(gè)階段。(其為步驟分離)??v軸為各個(gè)model。然后在每個(gè)model中的各個(gè)階段填充步驟。


image.png

通過上面的矩陣分析,我們不難看出普通品和組合品可以復(fù)用同一套流程編排代碼,可抽象出同一個(gè)model(其為對象模型)。而贈(zèng)品和出清品的業(yè)務(wù)相對簡單,更適合有一套獨(dú)立的編排代碼,這樣的代碼結(jié)構(gòu)會(huì)更容易理解。

通用矩陣:


image.png

代碼實(shí)操

過程分解,代碼實(shí)操就是代碼分離

對象模型,代碼實(shí)操就是多態(tài)

參考:
如何寫復(fù)雜業(yè)務(wù)代碼?

面對復(fù)雜業(yè)務(wù),if-else coder 如何升級(jí)?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容