抽象工厂应用是很广的,在Android源码中,这个IPolicy就是一个简单的抽象工厂模式。下面分析一下IPolicy及其实现,以及创建的相关对象(源码基于5.0.0)。
抽象工厂
意图
提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。
UML类图
通过继承抽象工厂,可以产生不同的产品系列
代码示例
abstract class AbsFactory{
public abstract AbsProductA createProduct1();
public abstract AbsProdcutB createProduct2();
}
abstract class AbsProductA{
}
abstract class AbsProductB{
}
class ProductA1 extends AbsProductA{
}
class ProductB1 extends AbsProductB{
public void interactWithProductA(AbsProductA product){