Android知识

工厂方法模式

2016-10-25  本文已影响0人  最美时光在路上
  1. 抽象工厂类或接口
public abstract class AbstractFactory {
    public abstract <T extends IProduct> T createProduct(Class<T> c);
}
  1. 抽象工厂类或接口实现类
public class ConcreteFactory extends AbstractFactory {
    @Override
    public <T extends IProduct> T createProduct(Class<T> c) {
        T product = null;
        try {
            product = (T) Class.forName(c.getName()).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return product;
    }
}
  1. 抽象产品类或接口
public interface IProduct {
    public void doSomething();
}
  1. 抽象产品类或接口实现类
public class ConcreteProduct1 implements IProduct {
    @Override
    public void doSomething() {
        //具体操作
    }
}
  1. 使用
IProduct product = new ConcreteFactory().createProduct(ConcreteProduct1.class);
product.doSomething();
上一篇下一篇

猜你喜欢

热点阅读