设计模式得具体应用之模拟计算器

这篇博客介绍了如何运用设计模式来改进模拟计算器的实现,包括将计算操作封装为方法、使用简单工厂模式、工厂方法模式和抽象工厂模式提高代码的灵活性和扩展性。通过具体的例子展示了如何在不同设计模式下组织代码,以适应更多的计算需求。

大致步骤如下:
1.让用户输入参数
Scanner input=new Scanner(System.in);
System.out.println(“请输入第一个数字:”);
double num1=input.nextDouble();

System.out.println(“请输入您要进行得运算:”);
double opeation=input.nextDouble();

System.out.println(“请输入第二个数字:”);
double num2=input.nextDouble();
2.进行运算
System.out.println(“计算的结果是:”);
3.返回结果

正常来说,初学者我们都是把所有内容都是写到了 main方法中
后来我们学了面向对象之后,我们可以把一些计算得内容 重复的内容 封装为对象可以调用得方法!
public double operationNumber(String type) throws Exception {
if(this.num2==0){
throw new Exception(“除数不能为0”);
}
if("".equals(type)){
result=this.num1
this.num2;
}else if("/".equals(type)){
result=this.num1/this.num2;
}else if("-".equals(type)){
result=this.num1-this.num2;
}else if("+".equals(type)){
result=this.num1+this.num2;
}
return result;
}

但是显然不够,对于 代码得灵活性 和扩展性来说 我们可以用我们学得设计模式,进一步改善 , 简单工厂模式 ,我们可以建立一个父类Operation工厂类 ,四个子类 加减乘除 ,
这个看起来就简单点在测试类中;
工厂方法模式:我们可以创建父类工厂得子类工厂,也就是每一个子类所对应得子类工厂;
这个就需要 if else 在main方法中判断 进行使用;扩展性更好 不用改变方法内部 的内容;

抽象工厂模式:我们得计算加减乘除 ,就可分为 小数,或者 分数得加减乘除 等等,分为某一产品类别的时候使用 。上篇 设计模式 有给出 具体的 图形 。更易理解;

再接再厉 !!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值