java设计模式-工厂模式

工厂模式简单地说分为三种,也就是网上经常说的三种:简单工厂模式,工厂模式和抽象工厂模式!
先来说下工厂模式的使用目的,就是根据要求来生成相对应的对象!而生成的不同对象,有着同一个父类,这种情况下,就使用工厂模式。

现在来说下三种工厂模式的区别吧:
首先是简单工厂模式:Factory类直接通过传递的参数来判断生成哪种对象!

下面是例子:
public Car  factory(String carType , float prize)  throws Exception {
    if (carType.equals( "Truck"))  return new TruckCar(prize) ;
    if (carType.equals( "Bigbus"))  return new BigbusCar(prize) ;
    if (carType.equals( "Mini"))  return new MiniCar(prize) ;
    if (carType.equals( "Sports"))  return new SportsCar(prize) ;
    throw new Exception( "没有这种产品") ;
}

工厂模式与抽象工厂模式,对比来看!
工厂模式, 一个工厂生产一种对象,每一种对象,都有属于自己的工厂实类

public class SportsCarFactory  implements Factory {
    @Override
    public Car  create( float prize) {
        return new SportsCar(prize) ;
    }
}

抽象工厂模式,把生产对象的方法封装在工厂抽象类里面,而工厂类则实现所有生成对象的接口。

public class  CarFactory  implements Factory {
    @Override
    public TruckCar  createTruckCar( float index) {
        return new TruckCar(index) ;
    }

    @Override
    public BigbusCar  createBigBusCar( float index) {
        return new BigbusCar(index) ;
    }

    @Override
    public MiniCar  createMiniCar( float index) {
        return new MiniCar(index) ;
    }

    @Override
    public SportsCar  createSportsCar( float index) {
        return new SportsCar(index) ;
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值