工厂模式

汽车生产demo演示简单工厂和工厂模式

简单工厂

package factory.model;

public interface Car {

    void run();

}

package factory.model;

public class Benz implements Car{

    @Override
    public void run() {
        System.out.println("奔驰在跑");
    }
}

package factory.model;

public class Bmw implements Car{

    @Override
    public void run() {
        System.out.println("宝马在跑");
    }
}

package designMode.factory;

import designMode.model.Benz;
import designMode.model.Bmw;
import designMode.model.Car;

public class SimpleFactory {

    public static Car getCar(String brand){
        if("benz".equals(brand)){
            System.out.println("簡單工厂生产奔驰");
            return new Benz();
        }else if("bmw".equals(brand)){
            System.out.println("簡單工厂生产宝马");
            return new Bmw();
        }
        return null;
    }

    public static void main(String[] args) {
        Car benz=SimpleFactory.getCar("benz");
        benz.run();
        Car bmw=SimpleFactory.getCar("bmw");
        bmw.run();

    }

}

工厂模式:
在这里插入图片描述

package factory.model;

public interface Car {

    void run();

}

package factory.model;

public class Benz implements Car{

    @Override
    public void run() {
        System.out.println("奔驰在跑");
    }
}

package factory.model;

public class Bmw implements Car{

    @Override
    public void run() {
        System.out.println("宝马在跑");
    }
}


package designMode.factory;

import designMode.model.Car;

public interface Factory {
    Car produceCar();
}


package designMode.factory;

import designMode.model.Benz;
import designMode.model.Car;

public class BenzFactory implements Factory{

    @Override
    public Car produceCar() {
        System.out.println("工廠模式生产奔驰");
        return new Benz();
    }
}


package designMode.factory;

import designMode.model.Bmw;
import designMode.model.Car;

public class BmwFactory implements Factory{


    @Override
    public Car produceCar() {
        System.out.println("工廠模式生产宝马");
        return new Bmw();
    }
}

package designMode.factory;

import designMode.model.Car;

public class FactoryValidation {
    public static void main(String[] args) {
        Factory benzFactory = new BenzFactory();
        Car benz=benzFactory.produceCar();
        benz.run();

        Factory bmwFactory = new BmwFactory();
        Car bmw=bmwFactory.produceCar();
        bmw.run();
    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值