业务通用化处理

当业务中出现新的需求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

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


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