简单工厂模式
. 该示例模仿商场购物的环节, 针对不同的客户进行不同的折扣, 为了让新手能更快容易理解该模式, 下图。
在商场购物的结算 , 就类似图中的接口方法, 而针对不同的用户, 折扣率不同, 简单的分为 普通用户、VIP用户、SVIP用户。
而上图的简单工厂就类似 销售员拿着你的会员卡输入到结账卡机 , 而结账卡机就是相当于一个简单工厂【负责针对你的会员类型返回不同的折扣率】。
实现该例子, 在这里用一个简单的控制台输出程序来创建。
1.第一步, 首先, 我们创建一个接口, 定义该接口一个结算的方法。
2.第二步, 定义3种不同的用户: 普通用户, VIP用户【5折】, SVIP用户【8折】, 让3同用户都继承上面定义的接口
3.第三步, 创建一个工厂方法, 该方法返回一个接口实例, 参数 type则就是会员类型。
4.客户端调用