打字猴:1.700465589e+09
1700465589 设计模式之禅 [:1700453999]
1700465590 设计模式之禅 18.4 策略模式的扩展
1700465591
1700465592 先给出一道小学的题目:输入3个参数,进行加减法运算,参数中两个是int型的,剩下的一个参数是String型的,只有“+”、“-”两个符号可以选择,不要考虑什么复杂的校验,我们做的是白箱测试,输入的就是标准的int类型和合规的String类型,各位大侠,想想看,怎么做,简单得很!
1700465593
1700465594 有非常多的实现方式,我今天来说四种。先说第一种,写一个类,然后进行加减法运算,类图也不用画了,太简单了,如代码清单18-11所示。
1700465595
1700465596 代码清单18-11 最直接的加减法
1700465597
1700465598 public class Calculator{
1700465599
1700465600 //加符号
1700465601
1700465602 private final static String ADD_SYMBOL=”+”;
1700465603
1700465604 //减符号
1700465605
1700465606 private final static String SUB_SYMBOL=”-“;
1700465607
1700465608 public int exec(int a,int b,String symbol){
1700465609
1700465610 int result=0;
1700465611
1700465612 if(symbol.equals(ADD_SYMBOL)){
1700465613
1700465614 result=this.add(a,b);
1700465615
1700465616 }else if(symbol.equals(SUB_SYMBOL)){
1700465617
1700465618 result=this.sub(a,b);
1700465619
1700465620 }
1700465621
1700465622 return result;
1700465623
1700465624 }
1700465625
1700465626 //加法运算
1700465627
1700465628 private int add(int a,int b){
1700465629
1700465630 return a+b;
1700465631
1700465632 }
1700465633
1700465634 //减法运算
1700465635
1700465636 private int sub(int a,int b){
1700465637
1700465638 return a-b;
[ 上一页 ]  [ :1.700465589e+09 ]  [ 下一页 ]