简单工厂模式

简单工厂模式:定义一个工厂类,根据参数不同返回不同的类的实例, 被创建的实例通常都有共同的实例 ; 适用于创建对象比较少的场景

示例代码:

public class Factory {
    
    public Fruit factoryMehtod(String arg) {
        if (arg.equals("apple")) {
            return new Apple();
        } else if (arg.equals("peach")) {
            return new Peach();
        }
        return null;
    }
}

public abstract class Fruit {
    // 水果名字
    String name;
}

public class Apple extends Fruit {

    public Apple() {
        super();
        // TODO Auto-generated constructor stub
        System.out.println("生产苹果");
    }
    
}


public class Peach extends Fruit {

    public Peach() {
        super();
        // TODO Auto-generated constructor stub
        System.out.println("生产peach");
    }
    
}

public class Client {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Factory factory = new Factory();
        
        // 选择生成苹果
        factory.factoryMehtod("apple");
        // 选择生成桃子       
        factory.factoryMehtod("peach");
    }

}

UML图例:


简单工厂模式.png

你可能感兴趣的:(简单工厂模式)