工厂类(creator):负责和客户端打交道,由传入参数进行判断创建具体类实例。
接口类(product):此类也可以是抽象类,主要是为了配合工厂类实现多态
具体角色类(concreteproduct):继承接口类,实现具体方法。
此方法重在工厂类,隔离了客户端和具体类实例,但是工厂类可能由于控制逻辑、角色类增多而变得臃肿。
public class creator {
public static product factory ( ){
new concreteproduct();
}
}
public interface product{
//定义一系列方法
}
public concreteproduct implements product {
//实现接口方法
}