创建型-工厂方法模式

2020-04-22  本文已影响0人  程序男保姆
定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。

1.用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程
2.在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则;

1.每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类,这增加了系统的复杂度。

类图

工厂方法模式.png

/***
 * 产品类接口
 */
public interface IVideo {

    public void getVideoName();

}



public class JavaVideo implements IVideo {
    @Override
    public void getVideoName() {

        System.out.println("java video");
    }
}



public class VueVideo implements IVideo {
    @Override
    public void getVideoName() {

        System.out.println("vue video");
    }
}


/***
 * 工厂接口
 */
public interface IVideoFactory {
    public IVideo getVideo();
}


public class JavaVideoFactory implements IVideoFactory {
    @Override
    public IVideo getVideo() {
        return new JavaVideo();
    }
}


public class VueVideoFactory implements IVideoFactory {
    @Override
    public IVideo getVideo() {
        return new VueVideo();
    }
}

上一篇 下一篇

猜你喜欢

热点阅读