Java 简单工厂模式

时间:2020-12-01 19:02:41

概要:

简单工厂模式又称静态工厂模式。从命名上就可以看出这个模式很简单:定义一个用于创建对象的接口。

简单工厂模式由工厂类角色、抽象产品角色和具体产品角色组成。

工厂类角色是本模式的核心,含有一定的商业逻辑和判断逻辑,它往往由一个具体类实现。

抽象产品角色一般是具体产品继承的父类或者实现的接口,由接口或者抽象类来实现。

具体产品角色由一个具体类实现

package net.xsoftlab.baike;interface Car {// 车的父类    public void driver();// 开车}class Benz implements Car {// 奔驰车    public void driver() {        System.out.println("今天咱开奔驰!");    }}class Bike implements Car {// 自行车    public void driver() {        System.out.println("唉,现在经济危机,只能骑自行车了呀!");    }}class Bmw implements Car {// 宝马    public void driver() {        System.out.println("今天开宝马吧!");    }}class Driver {// 车的工厂    public static Car driverCar(String s) throws Exception {        if (s.equalsIgnoreCase("Benz")) {// 判断传入参数返回不同的实现类            return new Benz();        else if (s.equalsIgnoreCase("Bmw")) {            return new Bmw();        else if (s.equalsIgnoreCase("Bike")) {            return new Bike();        else {            throw new Exception();// 抛出异常        }    }}public class TextSimpleFactory {// 操作工厂模式的类    public static void main(String[] args) {// java程序主入口处        try {            Car car = Driver.driverCar("Bike");// 调用方法返回车的实例            System.out.println("经理,今天开什么车呀?");            car.driver();// 调用方法开车        catch (Exception e) {// 捕获异常            System.out.println("开车出现问题......");        finally {// 代码总被执行            System.out.println("......");        }    }}