java之工厂模式
来源:互联网 发布:淘宝怎么找优惠券 编辑:程序博客网 时间:2024/06/05 04:42
1.工厂方法模式 工厂模式分为普通工厂模式;如果传递的字符串出错,则不能正确创建对象(会报红) 多个工厂方法模式;提供多个工厂方法,分别创建对象(普通模式的升级版,不会爆红) 静态工厂方法模式;多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可(豪华版)。 工厂模式主要是有接口类,实现接口类,以及一个工厂管理类组成; //接口类 public interface Sender { public void Send(); } //接口实现类 public class MailSender implements Sender { @Override public void Send() { System.out.println("this is mailsender!"); } } public class SmsSender implements Sender { @Override public void Send() { System.out.println("this is sms sender!"); } } //以上类不变只通过改变工厂类来区分三种不同形式 //普通工厂模式 public class SendFactory { public Sender produce(String type) { if ("mail".equals(type)) { return new MailSender(); } else if ("sms".equals(type)) { return new SmsSender(); } else { System.out.println("请输入正确的类型!"); return null; } } } //多个工厂方法模式 public class SendFactory { public Sender produceMail(){ return new MailSender(); } public Sender produceSms(){ return new SmsSender(); } } //静态工厂模式,使用时不用new对象可直接调用) public class SendFactory { public static Sender produceMail(){ return new MailSender(); } public static Sender produceSms(){ return new SmsSender(); } } 2.抽象工厂模式 好处就是,如果你现在想增加一个功能:发及时信息,则只需做一个实现类,实现Sender接口,同时做一个工厂类,实现Provider接口, 就OK了,无需去改动现成的代码。这样做,拓展性较好! 此模式主要有一个 接口类 ,一个或多个实现接口类 ,一个或多个工厂类(此模式有几个接口实现类就有几个工厂类),工厂类实现的接口类;如下 //接口类 public interface Sender { public void Send(); } //两个接口实现类 public class MailSender implements Sender { @Override public void Send() { System.out.println("this is mailsender!"); } } public class SmsSender implements Sender { @Override public void Send() { System.out.println("this is sms sender!"); } } //两个工厂类 public class SendMailFactory implements Provider { @Override public Sender produce(){ return new MailSender(); } } public class SendSmsFactory implements Provider{ @Override public Sender produce() { return new SmsSender(); } } //工厂类实现的接口类 public interface Provider { public Sender produce(); }参考:http://blog.csdn.net/doymm2008/article/details/13288067
阅读全文
0 0
- java之工厂模式
- java 之 工厂模式
- JAVA之工厂模式
- JAVA之工厂模式
- java之工厂模式
- java之工厂模式
- java之工厂模式
- Java工厂模式之简单工厂模式
- Java模式之工厂模式
- 【Java】Java工厂模式之简单工厂
- java 工厂模式之简单工厂(01)
- Java工厂模式之抽象工厂
- JAVA设计模式之工厂模式之简单工厂模式
- JAVA设计模式之工厂模式之工厂方法模式
- JAVA设计模式之工厂模式之抽象工厂模式
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- 543. Diameter of Binary Tree
- 关于ExecutorService中的execute()和submit()方法的区别
- Luogu 1387(dp)
- mybatis配置log4j2
- Excel导出
- java之工厂模式
- 使用fir-cli 1.6.3打包失败问题解决
- 利用Python写一个Mysql数据库积压监控
- uva 1118(圆中三角形)
- 去掉标签 address, cite, dfn, em, i, var 的 默认样式
- A33 Flash容量显示
- HDU 6048 Puzzle(思维以及爆int引发的思考)
- CVPR 2017精彩论文解读:Xception深度可分离卷积模型
- CSDN如何转载别人的博客