什么是工厂模式(Factory)?

101 阅读1分钟

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

  1. 意图
    提供一个创建对象的接口,根据需求创建不同的子类对象
  2. 类图
    在这里插入图片描述
  3. 实例
interface Obj {}

class Obj1 implements Obj {}

class Obj2 implements Obj {}

class Obj3 implements Obj {}

class ObjFactory {
    public Obj getObj(String name) {
        if (null == name) return null;
        Obj obj = null;
        switch (name) {
            case "obj1" : obj = new Obj1(); break;
            case "obj2" : obj = new Obj2(); break;
            case "obj3" : obj = new Obj3(); break;
        }
        return obj;
    }
}
  1. 测试
class FactoryTest {
    public static void main(String[] args) {
        ObjFactory objFactory = new ObjFactory();
        System.out.println(objFactory.getObj("obj1"));
        System.out.println(objFactory.getObj("obj2"));
        System.out.println(objFactory.getObj("obj3"));
    }
}

运行结果:

designpattern.factory.Obj1@6e3c1e69
designpattern.factory.Obj2@35851384
designpattern.factory.Obj3@6adca536

想看更多吗?请访问:设计模式