设计模式-工厂方法

    xiaoxiao2022-07-07  157

    一、定义

    定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,工厂方法让类的实例化推迟到子类中进行。

    二、适用场景

    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(); } }

     

    最新回复(0)