工厂模式-简单工厂

1、简单工厂模式

1.1、什么是简单工厂模式

  简单工厂模式是类的创建模式,又叫做静态工厂方法模式。简单工厂模式是由一个工厂对象决定创建出哪一类产品类的实例。由一个工厂类根据传入的参数来决定创建出哪一种产品类的实例。

      

1.2、简单工厂模式的结构

       工厂类(Creator)角色:工厂方法模式的核心,含有与应用紧密相关的逻辑。工厂类在客户端的调用下直接创建产品对象。往往由一个具体的Java类实现。

       抽象产品(Product)角色:工厂方法模式所创建的对象的父类,或他们共同拥有的接口。抽象产品角色可以用一个Java接口或者Java抽象类表示。

       具体产品(Concrete Product)角色:工厂方法模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体Java类实现。

/**
 *
简单工厂模式
 
* @author ly
 */
public class SimpleFactoryClient {
    public static void main(String[] args) {
        Product product = Creator.factory();
    }
}

/**
 *
抽象产品角色1
 */
interface Product{
}

/**
 *
具体产品角色11
 */
class ConcreteProduct1 implements Product{
}
/**
 *
具体产品角色21
 */
class ConcreteProduct2 implements Product{
}

/**
 *
工厂类角色
 
*/
class Creator{
    public static Product factory(String type){
        if("product1".equals(type)){
            return new ConcreteProduct1();
        }else if("product2".equals(type)){
            return new ConcreteProduct2();
        }
        return null;
    }
}

     

1.3、优点

       简单工厂模式的核心是工厂类。这个类含有必要的判断逻辑,以决定创建哪一个产品类的实例。客户端免除了直接创建产品类的责任,仅仅负责”消费”产品。

1.4、缺点

       工厂类集中了所有的产品创建逻辑,形成一个无所不知的全能类。这个类如果不能正常工作了,那么使用到了这个工厂类的地方都将受到影响。

参考:

  《Java与模式》

猜你喜欢

转载自www.cnblogs.com/simple-ly/p/9745920.html