简单工厂模式涉及到工厂角色、抽象产品角色以及具体产品角色等三个角色:
工厂类(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(){}
}