Abstract Factory(抽象工厂)
抽象工厂,按字面含义来理解,就是一个不存在的工厂,只是抽象出来的一个概念工厂,反应到代码中,可以理解为定义了固定操作接口的一个抽象类,这个类不完成任何事(特殊情况也可以完成某些生产操作),而是交由它的子类来进行实际的操作。
package test8;
class A {
}
class B {
}
/**
* 抽象工厂设计模式
* @author Administrator
*
*/
abstract class BFactory {
public abstract A productA();
public abstract B productB();
}
/**
* 子工程1
* @author Administrator
*
*/
class BXfactory extends BFactory {
@Override
public A productA() {
// TODO Auto-generated method stub
return new A();
}
@Override
public B productB() {
// TODO Auto-generated method stub
return new B();
}
}
/**
* 子工厂2
* @author Administrator
*
*/
class BCfactory extends BFactory {
@Override
public A productA() {
// TODO Auto-generated method stub
return new A();
}
@Override
public B productB() {
// TODO Auto-generated method stub
return new B();
}
}
/**
* 抽象工厂模式测试类
* @author suifeng
*
*/
public class AbstractDS {
static void show(BFactory bf) {
bf.productA();
bf.productB();
}
public static void main(String[] args) {
show(new BCfactory());
show(new BXfactory());
}
}