简单工厂模式是一个工厂类根据传入的参数的不同,来决定创建出哪一种产品类的实例。
简单工厂模式包含工厂类角色、抽象产品角色和具体产品角色。
- 工厂类角色(Creator):含有与应用相关的商业逻辑,工厂类在客户端的直接调用下创建产品对象,它往往是由一个具体的Java类实现。
- 抽象产品角色(Product):它可以用一个Java接口或者Java抽象类实现。
- 具体产品角色(Concrete Product):具体产品角色由一个具体Java类实现。
工厂类:创建一个新的具体产品的实例并返回给调用者。
public class Creator{
/**
* 静态工厂方法
*/
public static Product factory(){
return new ConcreteProduct();
}
}
抽象产品类:给所有的具体产品类提供一个公共的类型。
public interface Product{
}
具体产品类:实际情况下创建的一个实例。
public class ConcreteProduct implements Product{
public ConcreteProduct(){
}
}