欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java 设计模式-工厂模式

程序员文章站 2024-01-21 18:01:40
...

1.工厂模式

  工厂模式的意思就是,我们想要产生什么类的对象,我直接丢给工程类,让工厂统一给我们创建,而不是直接来创建。

2.代码

  统一的接口,也就是说,能够被工厂类产生对象的类,必须实现统一的接口。

public interface Fruits {
     public void generate();
}

  能够被工厂产生对象的类,这些类都实现了上面的接口

package com.example.DesignPattern.FactoryPattern;

public class Apple implements Fruits{

    @Override
    public void generate() {
        System.out.println("生成苹果了");
    }

}
package com.example.DesignPattern.FactoryPattern;

public class Pear implements Fruits {

    @Override
    public void generate() {
        System.out.println("生成梨了");
    }

}

  工厂类,用来产生对应的对象的

package com.example.DesignPattern.FactoryPattern;

public class Factory {
    public static Fruits createNewInstance(String className)
    {
        Fruits fruits = null;
        try {
            fruits = (Fruits) Class.forName(className).newInstance();
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(fruits == null)
        {
            throw new NullPointerException();
        }
        return fruits;
    }
}

   测试类

package com.example.DesignPattern.FactoryPattern;

public class Test {
    public static void main(String[] args) {
        Apple apple = (Apple) Factory.createNewInstance(Apple.class.getName());
        Pear pear = (Pear) Factory.createNewInstance(Pear.class.getName());
    }
}