工厂模式

Posted Ycheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。

我们可以通过Spring框架配置每个bean如何被创建,管理应用对象的配置和生命周期。Spring框架本质就是一个javaBean工厂,在你需要哪个类的时候就可以通过Sping工厂创建你需要的类。这里我们来说说工厂类。

简单的工厂模式:

/**
 * 工厂类
 * @param <T>
 */
public class AnimalFactory<T> {
    public T getAnimal(String string){
        if ("pig".equals(string.toLowerCase())) {
            return (T) new Pig();
        }else if ("dog".equals(string.toLowerCase())) {
            return (T) new Dog();
        }
        return null;
    }
}
public class Pig {
    public void eat(){
        System.out.println("猪正在吃东西");
    }
    
}
public class Dog {
    public void eat(){
        System.out.println("狗正在啃骨头");
    }
}
    /**
     * 测试
     */
    public static void main(String[] args) {
         //从工厂类中获取一个pig对象
        Pig pig = (Pig)new AnimalFactory<>().getAnimal("pig");
        pig.eat();
    }    

测试结果:猪正在吃东西

 

以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式简单工厂模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式学习——简单工厂模式工厂模式抽象工厂模式

设计模式工厂方法模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

设计模式-简单工厂工厂方法模式抽象工厂模式详解

C++工厂模式(简单工厂工厂方法抽象工厂)