下面代码使用了哪种设计模式()
interface AbstractProductA {
void operationA();
}
class ConcreteProductA1 implements AbstractProductA {
public void operationA() {
System.out.println("ConcreteProductA1 operationA");
}
}
class ConcreteProductA2 implements AbstractProductA {
public void operationA() {
System.out.println("ConcreteProductA2 operationA");
}
}
interface AbstractProductB {
void operationB();
}
class ConcreteProductB1 implements AbstractProductB {
public void operationB() {
System.out.println("ConcreteProductB1 operationB");
}
}
class ConcreteProductB2 implements AbstractProductB {
public void operationB() {
System.out.println("ConcreteProductB2 operationB");
}
}
interface AbstractFact {
AbstractProductA createProductA();
AbstractProductB createProductB();
}
class ConcreteFact1 implements AbstractFact {
public AbstractProductA createProductA() {
return new ConcreteProductA1();
}
public AbstractProductB createProductB() {
return new ConcreteProductB1();
}
}
class ConcreteFact2 implements AbstractFact {
public AbstractProductA createProductA() {
return new ConcreteProductA2();
}
public AbstractProductB createProductB() {
return new ConcreteProductB2();
}
}
