简单工厂设计模式

观察以下代码:
在这里插入图片描述
在这里插入图片描述
分析:主方法应该就表示一个客户端,主方法的代码越少越好。此时直接在主方法中指定了要操作的子类,如果要更换子类,肯定要修改客户端,就表示客户端根特定的子类紧密耦合在一起了。
结论:用户吃什么水果,应该直接说,然后由程序产生对应的水果。而不是用户直接去实例化苹果对象。
在这里插入图片描述
这个过渡端就是将用户的请求进行处理的程序,用户请求不同,得到的水果对象也不同,返回给用户调用。
这个过渡端在程序中就称为工厂设计。你需要吃什么水果,就告诉工厂,工厂就给你造什么水果对象,不用你自己造(实例化)。
定义工厂类
在这里插入图片描述
在这里插入图片描述
上例中如果传入的值为空值,那么工厂类还能使用吗?
在这里插入图片描述
在这里插入图片描述
空值不能调用方法
一个字符串的常量就是一个String类的匿名对象,它永远不可能为空值。所以修改代码为:
在这里插入图片描述
在这里插入图片描述
这样每次变化都不用修改客户端。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值