设计模式-工厂方法
程序员文章站
2024-01-05 23:13:47
...
一、定义
定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。
二、适用场景
1)创建对象需要大量重复的代码
2)客户端(应用层)不依赖于产品类实例如何被创建、实现的细节
3)一个类通过其子类来指定创建哪个对象
三、优点
用户只需要关心所需产品对应的工厂,无需知道细节
四、缺点
类的个数容易过多,增加复杂度
五、代码
public abstract class VideoFactory {
public abstract Video getVideo();
}
public class JavaVideoFactory extends VideoFactory {
@Override
public Video getVideo() {
// TODO Auto-generated method stub
return new JavaVideo();
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
VideoFactory videoFactory = new JavaVideoFactory();
Video video = videoFactory.getVideo();
video.produce();
}
}