工厂方法: 在简单工厂的基础上重构,将工厂类定义为接口,再定义一个所有实例的父接口,所有实例类实现该接口。为每一个实例类创建一个具体的实例类工厂。
//将工厂类定义为接口
public interface Factory{
public Product create();
}
//定义一个产品接口
public interface Product{}
//实现了产品接口的产品类
public class Washer implements Product{
public Washer(){
System.out.println("洗衣机被制造了");
}
}
public class Icebox implements Product{
public Icebox(){
System.out.println("冰箱被制造了");
}
}
public class AirCondition implements Product{
public Icebox(){
System.out.println("空调被制造了");
}
}
//工厂方法的核心部分,也就是具体创建产品对象的具体工厂类
//创建洗衣机的工厂
public class CreateWasher implements Factory{
public Product create(){
return new Washer();
}
}
//创建冰箱的工厂
public class CreateIcebox implements Factory{
public Product create(){
return new Icebox();
}
}
//创建空调的工厂
public class CreateAirCondition implements Factory{
public Product create(){
return new AirCondition();
}
} |
|