工厂模式-创建型模式
作者:小村长
工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。
结构图:
示例:
public interface Factory {
public Product factoryMethod();
}
public class ConcreteFactory implements Factory {
public Product factoryMethod() {
return new ConcreteProduct();
}
}
public abstract class Product {
public abstract void method();
}
public class ConcreteProduct extends Product {
@Override
public void method() {
}
}
应用场景:
- 用户不需要关心复杂对象的创建过程
- 需要创建过程和使用过程很好的解耦
优点:
- 工厂方法用来创建客户所需要的对象时,隐藏了实现细节
- 当加入新的对象中,无需修改原有代码,完全符合开闭原则
缺点:
- 当加入新的对象时,需要写新的工厂方法,即使是很简单的对象,这无疑增加了软件的复杂度
原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 工厂模式-创建型模式
利用反射也是解耦的好办法。