定义一个用于创建对象的接口,让子类决定实例化哪个类。
工作模式,也是创建型设计模式之一,在开发中使用超级广泛,你可能不知不觉就用到了。如:Activity里的各个生命周期方法,都可以看作工厂方法。
优点:1. 降低对象耦合度;
2. 良好的扩展性:工厂方法模式依赖于抽象的架构,其实例化任务交由子类完成;
缺点:每次为工厂方法模式添加新的产品时都需要编写新的产品类,同时还要引入抽象层。会导致类结构的复杂化。
使用场景
需要生成复杂对象的情况。用new就可以完成创建的对象无需工厂模式。