抽象工厂:抽象工厂是在工厂方法的基础上引进了分类管理的概念。工厂方法用来创建一个产品,它没有分类的概念,而抽象工厂则用于创建一系列产品,所以产品分类成了抽象工厂的重点。
//分别定义两个产品接口,以对他们进行分类
//洗衣机接口
public interface Washer{}
//冰箱接口
public interface Icebox{}
//分别创建这两个接口的具体产品
//洗衣机-A
public class WasherA implements Washer{
public WasherA(){
System.out.println("洗衣机-A被制造了");
}
}
//洗衣机-B
public class WasherB implements Washer{
public WasherB(){
System.out.println("洗衣机-B被制造了");
}
}
//冰箱-A
public class IceboxA implements Icebox{
public IceboxA(){
System.out.println("冰箱-A被制造了");
}
}
//冰箱-B
public class IceboxB implements Icebox{
public IceboxB(){
System.out.println("冰箱-B被制造了");
}
}
//定义工厂接口
public interface Factory{
public Washer createWasher();
public Icebox createIcebox();
}
//创造具体的工厂类
//创建型号为A的产品工厂
public class FactoryA implements Factory{
//创建洗衣机-A
public Washer createWasher(){
return new WasherA();
}
//创建冰箱-A
public Icebox createIcebox(){
return new IceboxA();
}
}
//创建型号为B的产品工厂
public class FactoryB implements Factory{
//创建洗衣机-B
public Washer createWasher(){
return new WasherB();
}
//创建冰箱-B
public Icebox createIcebox(){
return new IceboxB();
}
} |
|