`
阅读更多

package mode;

 

 

/**

 * 

 * 设计模式之工厂模式

 * @author gaoq

 * @date 2015-12-5 下午3:25:48

 */

public class FactoryMode {

 

/**

* 发送消息接口类

* @author gaoq

* @date 2015-12-5 下午3:57:29

*/

interface Sender{

 

public void senderMsg();

 

}

 

/**

* 发送邮件实现类

* @author gaoq

* @date 2015-12-5 下午3:57:43

*/

class MainSender implements Sender{

 

@Override

public void senderMsg() {

 

System.out.println("hello,我是邮件发送管家。");

 

}

 

}

 

/**

* 发送短信实现类

* @author gaoq

* @date 2015-12-5 下午3:58:04

*/

class SmsSender implements Sender{

 

@Override

public void senderMsg() {

 

System.out.println("hello,我是短息发送管家。");

 

}

 

}

 

/**

* 工厂类

* @author gaoq

* @date 2015-12-5 下午3:57:16

*/

class Factory{

 

/**

* 根据参数生产出发送消息的实体类

* @param status 1是邮件发送实体类,非1的为短信发送实体类

* @return

*/

public Sender getSender(int status){

Sender sender = null;

switch(status){

case 1:

sender = new MainSender();

break;

default:

sender = new SmsSender();

break;

}

return sender;

 

}

}

 

/**

* 测试工厂模式

* @param args

*/

public static void main(String[] args) {

 

Factory factory = new FactoryMode().new Factory();

 

MainSender sender = (MainSender) factory.getSender(1);

sender.senderMsg();

 

SmsSender sms = (SmsSender) factory.getSender(0);

sms.senderMsg();

 

 

}

 

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics