1.定义
抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。
2.适配器模式的类图
1.代码
AbstractFactory
public interface AbstractFactory {
public ProductA factoryA();
public ProductB factoryB();
}
ConcreteFactory1
public class ConcreteFactory1 implements AbstractFactory {
@Override
public ProductA factoryA() {
return new ProductA1();
}
@Override
public ProductB factoryB() {
return new ProductB1();
}
}
ConcreteFactory2
public class ConcreteFactory2 implements AbstractFactory {
@Override
public ProductA factoryA() {
return new ProductA2();
}
@Override
public ProductB factoryB() {
return new ProductB2();
}
}
ProductA
public interface ProductA {
public void method();
}
ProductA1
public class ProductA1 implements ProductA {
@Override
public void method() {
System.out.println("ProductA1");
}
}
ProductA2
public class ProductA2 implements ProductA {
@Override
public void method() {
System.out.println("ProductA2");
}
}
ProductB
public interface ProductB {
public void method();
}
ProductB1
public class ProductB1 implements ProductB {
@Override
public void method() {
System.out.println("ProductB1");
}
}
ProductB2
public class ProductB2 implements ProductB {
@Override
public void method() {
System.out.println("ProductB2");
}
}
Test
public class Test {
public static void main(String[] args) {
AbstractFactory factory = new ConcreteFactory2();
ProductA productA = factory.factoryA();
ProductB productB = factory.factoryB();
productA.method();
productB.method();
}
}