不喜勿喷 ,望理解
概念:是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。
意图:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。
使用场景:
比如海尔厂家不仅卖洗衣机还卖电脑,还有电视。然后三星也卖洗衣机 电脑和电视,也就是所说的产品族
和工厂模式相比
工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。
demo
interface Factory {
TV get();
wash get();
computer get();
}
class haierFactory impliments Factory {
TV get(){
sout(“海尔电视”);
return new haiertv();
}
wash get(){
sout(“海尔洗衣机”);
return new haierWashing();
}
computer get(){
sout(“海尔电脑”);
return new haierComputer();
}
}
class sanxingFactory impliments Factory {
TV get(){
sout(“三星电视”);
return new sanxingtv();
}
wash get(){
sout(“三星洗衣机”);
return new sanxingWashing();
}
computer get(){
sout(“三星电脑”);
return new sanxingComputer();
}
}
interface TV{
void run();
}
interface computer{
void run();
}
interface washing{
void run();
}
然后根据不同的厂家实现上面不同的接口 即可