简单工厂模式

Posted 一点唐城

tags:

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

概念


简单工厂模式可以理解为,定义一个工厂类,根据传入的参数不同而返回不同的实例,这些实例通常有共同的父类。
简单工厂模式不属于23种GoF设计模式之一。


UML图

简单工厂模式_javascript

角色


工厂类 : Factory
抽象产品类 : Product
具体产品类 : ConcreteProductA 和 ConcreteProductB


​#​​示例:

产品类:

public interface Product {
}

具体产品类:

public class ConcreteProductA implements Product{
}

public class ConcreteProductB implements Product{
}

工厂类:

public class Factory {
public static Product createProduct(String name) {
if(name.equals("A")){
return new ConcreteProductA();
} else if (name.equals("B")) {
return new ConcreteProductB();
}
return null;
}
}

客户端类:

public class Client {
public static void main(String[] args) {
String name = "A";
Product product = Factory.createProduct(name);
System.out.println(product);
}
}

打印结果:


com.lzx.java.designpattern.factory.simple.ConcreteProductA@60e53b93



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

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

PHP面向对象之选择工厂和更新工厂

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

设计模式之简单工厂模式

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

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