简单工厂模式

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

示例代码:

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容