简单工厂方法模式又叫静态工厂方法模式(Static Factory Method Pattern),简而言之就是通过传入的参数创建不同的接口实例返回。
类图:
时序图:
这大概是最直接和简单的设计模式了。在类图里可以看到如果传入参数为“A”,则创建ConcreteProductA
类的实例返回;如果传入参数是“B”,则创建ConcreteProductB
的实例返回。
这里给出Java实现的code:
Product
interface Product{
void use();
}
ConcreteProductA
class ConcreteProductA implements Product{
@Override
public void use(){
//......
}
}
ConcreteProductB
class ConcreteProductB implements Product{
@Override
public void use(){
//......
}
}
Factory
class Factory{
public static Product createProduct(String productName){
if( productName == "A"){
return new ConcreteProductA();
}
if( productName == "B"){
return new ConcreteProductB();
}
}
}