前段时间博主很忙,所以一直到现在才有时间更新博客,请见谅!
本文介绍23种设计模式之一的工厂方法模式,所谓工厂方法模式就是定义一个接口用于创建对象,让其决定实例化哪个对象。
工厂方法主要有几个要素:1、工厂接口2、工厂实现3、产品接口4、产品实现。说的比较笼统,我们用一段代码来描述:
public interface Factory {
public Product createProduct();
}
public class FactoryImpl implements Factory {
@Override
public Product createProduct() {
return new ProductImpl();
}
}
public interface Product {
public void execute();
}
public class ProductImpl implements Product {
@Override
public void execute() {
System.out.println("执行产品类方法!");
}
}
public class Client {
public static void main(String[] args) {
Factory factory = new FactoryImpl();
Product product = factory.createProduct();
product.execute();
}
}
工厂方法模式的好处:可以使代码结构清晰明了,在实际应用中,产品类的实例化可能是复杂和多变的,通过工厂方法来实例化产品,可以有效的将产品封装起来,使用者无需关心产品的具体实例化过程,只需要依赖工厂即可得到想要的产品。
应用场景:
需要实例化的对象比较复杂我们就可以用工厂方法模式来处理,我们常见的web框架如:Spring就大量运用了工厂方法模式。