- 定义
简单工厂模式并不属于23种设计模式的一种
- 优点
- 一个调用者想创建一个对象,只要知道其名称就可以了。
- 缺点
- 增加新产品时会违背“开闭原则”
类图
/***
* 产品类接口
*/
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 class SimpleFactory {
/** if else 实现 */
public static IVideo getVideo(String name){
IVideo iVideo = null;
if ("java".equalsIgnoreCase(name)){
iVideo= new JavaVideo();
}else if ("vue".equalsIgnoreCase(name)){
iVideo= new VueVideo();
}
return iVideo;
}
/** 反射 实现 */
public static IVideo getVideo(Class c){
IVideo iVideo = null;
try {
iVideo = (IVideo) c.newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return iVideo;
}
}
网友评论