java工厂设计模式

1.工厂模式简介
工厂模式就是定义一个创建对象的接口,由子类去决定实例化哪一个类,将实例化对象的操作延迟到子类。可以理解为一个工厂根据不同的需求产生不同的产品。
工厂模式细分为:简单工厂,工厂模式,抽象工厂
1.简单工厂
定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到了子类。
场景延伸:同一个工厂可以产生不同类型的车。
首先定义一个抽象的汽车工厂,工厂方法通过出入的参数生成生成不同产品类型的车
在这里插入图片描述
然后对于汽车,公交车还有自行车分别实现工厂接口里面的方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后是车辆工厂,封装了创建游戏对象的过程
在这里插入图片描述最后是测试:
在这里插入图片描述
在这里插入图片描述

2.工厂模式
工厂模式跟简单工厂模式的区别在于简单工厂只有一个工厂类,提供了一个工厂方法,由入参决定生产那个产品,而工厂模式则定义一个工厂接口,不同的产品工厂实现工厂接口,生产的产品由产品工厂决定
定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到了子类。
比如:不同地区咖啡工厂受制于环境、原料等因素的影响,制造出的咖啡种类有限。中国咖啡工厂仅能制造卡布奇诺、拿铁,而美国咖啡工厂仅能制造美式咖啡、拿铁。

3.抽象工厂
提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
比如:咖啡工厂做大做强,引入了新的饮品种类:茶、 碳酸饮料。中国工厂只能制造咖啡和茶,美国工厂只能制造咖啡和碳酸饮料。
如果用上述工厂方法方式,除去对应的产品实体类还需要新增2个抽象工厂(茶制造工厂、碳酸饮料制造工厂),4个具体工厂实现。随着产品的增多,会导致类爆炸。
所以这里引出一个概念产品家族,在此例子中,不同的饮品就组成我们的饮品家族, 饮品家族开始承担创建者的责任,负责制造不同的产品。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值