工厂模式简介及实现方式

1. 基本概念

为对象创建提供过渡接口,将创建对象的具体过程屏蔽,达到灵活性的目的。

2. 工厂模式分类

工厂模式主要分为简单工厂模式,工厂方法模式和抽象工厂模式

1. 简单工厂模式

简单工厂模式又称为静态工厂方法模式。 组成:

2. 工厂方法模式

工厂方法模式是简单工厂模式的进一步抽象化又被称为多态工厂模式,工厂方法模式将实例化的具体操作交给了具体工厂角色 组成:

3. 抽象工厂模式

示例代码:

//抽象工厂类
public abstract class AbstractFactory {
    public abstract Vehicle createVehicle();
    public abstract Weapon createWeapon();
    public abstract Food createFood();
}
//具体工厂类,其中Food,Vehicle,Weapon是抽象类,
public class DefaultFactory extends AbstractFactory{
    @Override
    public Food createFood() {
        return new Apple();
    }
    @Override
    public Vehicle createVehicle() {
        return new Car();
    }
    @Override
    public Weapon createWeapon() {
        return new AK47();
    }
}
//测试类
public class Test {
    public static void main(String[] args) {
        AbstractFactory f = new DefaultFactory();
        Vehicle v = f.createVehicle();
        v.run();
        Weapon w = f.createWeapon();
        w.shoot();
        Food a = f.createFood();
        a.printName();
    }
}