首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式之工厂模式(2)

2013-09-04 
设计模式之工厂模式(2)1、定义????? 多个工厂模式:工厂类中定义多个方法,每个方法对应生成产品????? 静态工

设计模式之工厂模式(2)

1、定义

????? 多个工厂模式:工厂类中定义多个方法,每个方法对应生成产品

????? 静态工厂模式:工厂类中定义静态方法,每个静态方法对于生成产品;或者定义一个静态方法来生成产品;

?

?

2、例子

????? 拿简单工厂模式(1)的例子进行改进,SenderFactory采用多个工厂模式/静态工厂模式的方法

????? 多个工厂模式:

public class SendFactory {public final static int MAIL = 1;public final static int SMS = 2;public final static int PUSH = 3;public static Sender createSender(int sendType) {Sender sender = null;switch (sendType) {case SendFactory.MAIL:sender = new MailSender();break;case SendFactory.SMS:sender = new SmsSender();break;case SendFactory.PUSH:sender = new PushSender();break;default:sender = new MailSender();break;}return sender;}}

?

??? 与简单工厂模式相比,不管多个工厂模式还是静态工厂模式,SenderFactory类中自己添加相应的方法,如果再添加一种发送方式,还需要修改SenderFactory的类, 还是破坏了开闭原则。

?????

?

热点排行