業務通用化處理

當業務中出現新的需求A時,代碼中我們經常這樣寫

if(A){
    action1();
}

並且A還出現在程序的各個地方

if(A){
    action2();
}
if(A){
    actionn();
}

隨着業務新需求類型的出現, BCDE,會面臨需求的膨脹,代碼會是如下的樣子

if(A or B){
    action1;
}
if(C or D or E){
    action2;
}

想閱讀這種代碼就比較困難了,也很難維護,你已經很難去記憶ABCDE在程序各處控制程序的差異性了。代碼不應該依賴於具體業務,而是依賴是否可做某種行爲,具體業務再和是否可做某種行爲進行映射,修改代碼成下面的樣子:

if(action1){
    action1();
}
if(acton2){
    aciton2();
}
if(actionn){
    actionn()
}

代碼就很容易看懂了,具體的需求通過配置來實現

A action1=true action2=false acitonn=true
B action1=true action2=false acitonn=true
C action1=false action2=true acitonn=true
D action1=false action2=true acitonn=true
E action1=false action2=true acitonn=true

以上也是符合組件化思想的


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章