23种设计模式--简单工厂模式
来源:互联网 发布:全屋定制行业分析知乎 编辑:程序博客网 时间:2024/06/07 17:33
简单工厂模式的角色:
1.工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现。
2.抽象产品角色:它一般是具体产品继承的父类或者实现类的接口,在java中由接口或者抽象类来实现。
3.具体产品角色:工厂类所创建的对象,就是此角色的实例。
//工厂类角色
public class Factory(){
public static Sample creator(int witch){
if(witch==1){return new SampleA() ;}
else if(witch==2){return new SampleB();}
}
}
//抽象产品角色
public abstract class Sample(){}
//具体产品角色
public class SampleA extends Sample(){}
public class SampleB extends Sample(){}
使用:
Sample A = Factory.ceartor(1);//instance of SampleA
Sample B = Factory.ceartor(2);//instance of SampleB
简单工厂模式的优点:客户类和工厂类分开,工厂类关注于产品的生产,客户端任何时候需要某产品,只需要向工厂请求即可,可以无需知道每次实例化那个类,消费者无需 进行修改,就可以接纳新产品。
简单工厂模式的缺点:当工厂新加入产品或修改时,工厂类也要做相应的修改。
修改(运用JAVA反射机制避免缺点)
/*
* 工厂角色
*/
public class Factory {
public static Car creator(String className){
try {
Car car = (Car)Class.forName(className).newInstance();//className 是指class所在的包名+类名
return car;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
}
- 23种设计模式--简单工厂模式
- 23种设计模式(3/4)-工厂模式(简单工厂模式/工厂方法模式/抽象工厂模式)
- 23种设计模式01--简单工厂
- 简单工厂设计模式
- 设计模式-----简单工厂
- 简单工厂设计模式
- 设计模式:简单工厂
- 设计模式 - 简单工厂
- 设计模式 简单工厂
- 【设计模式】【简单工厂】
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式--简单工厂
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式------------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 英语学习
- 成员内部类的使用
- shell脚本入门篇
- 技术上无法实现
- IntelliJ Idea 常用快捷键列表
- 23种设计模式--简单工厂模式
- Centos中安装idea
- ToolBar封装
- Android 的 Spinner下拉菜单如何实现 和二级以上的三级联动 (一)
- 完整详解swift GCD系列(二)dispatch_after;dispatch_apply;dispatch_once
- Unity5.x Animator之RootMotion
- 文章标题
- 数值型和字符型转换,以及string--char*--CString之间的转换
- jquery折叠卡片