设计模式---工厂模式
来源:互联网 发布:淘宝怎么借贷 编辑:程序博客网 时间:2024/04/30 15:31
了解了程序设计原则,设计模式就是对设计原则更具体的使用。
我理解的工厂模式其实就是对面向接口编程(依赖倒转原则),最少知道原则等设计原则的使用。
比如设计一个发信息的功能,首先建立一个信息的接口,有邮件、短信、微信等等的实现类。
如果不使用工厂模式,我们在客户端或者高层的实现类里,要判断具体发什么信息,实例化对应的类,这样客户需要知道很多东西,需要知道要发邮件,需要实例化邮件的类等等等等。
而如果使用工厂模式的话,需要再建一个工厂类,封装了创建具体实例的方法,客户只需要知道信息接口,再给工厂一个暗示,工厂会自动创建具体的实例。这样客户想实现什么功能,只需要知道名字就可以,只需要关注产品的接口,不用管怎么实现的。扩展性也较好,想增加一个功能,只需要扩展工厂类就可以。缺点是增加了系统的复杂度。所以具体使用要根据实际情况来确定。
客户
public class SenderClient {public static void main(String[] args){FactoryDemo factory = new FactoryDemo();Sender sender = factory.getSender("WeChat");sender.send();}}
public class FactoryDemo {public Sender getSender(String senderType){if(senderType==null || senderType.isEmpty()){return null;}if(senderType.equals("Message")){return new MessageSender();}else if(senderType.equals("Email")){return new EmailSender();}else if(senderType.equals("WeChat")){return new WeChatSender();}return null;}}
日常用到工厂模式的有 1、日志记录,用户只管配置好,输出到文件,控制台还是远程服务器等,不用管怎么实现,由工厂来做。
2、数据库访问,访问的可能是mysql,oracle等。
1 0
- 设计模式------工厂模式
- 设计模式------工厂模式
- 设计模式 [ 工厂模式 ]
- 设计模式--工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式 工厂模式
- 设计模式-工厂模式
- 设计模式 -- 工厂模式
- 设计模式-工厂模式
- 设计模式----工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式---工厂模式
- 设计模式-工厂模式
- 设计模式--工厂模式
- 设计模式 - 工厂模式
- Google Calendar (Android Studios上可运行)
- 关于JNI的调试小工具设置
- palsquare-各进制回文数<uscao>1.2
- Spring Boot整合MyBatis
- linux常用操作
- 设计模式---工厂模式
- ubuntu apache2.4.10
- Xcode里-ObjC, -all_load, -force_load
- Flume与Kafka比较
- Asio与shared_ptr的一些注意事项 转载http://btblog.net/?cat=33
- mce:style或者mcs:script是什么意思
- Linux Server 流水-2
- Mvc 提交表单的4种方法全程详解
- 运维:写一个小小的项目监控