工厂模式的好处:工厂模式可以做到把创建对象单独提出来,起到解耦作用,即:如果要修改创建对象的逻辑不用在项目里的各处修改了,只需要在工厂里面修改一处就可以了,大大缩短了修改的工作量
/**
* 公共接口
* @author Administrator
*
*/
interface Sender{
public void send();
}
/**
* 邮件发送类
* @author Administrator
*
*/
class MailSender implements Sender{
public void send() {
System.out.println("This is mailsender!");
}
}
/**
* 短信发送类
* @author Administrator
*
*/
class SmsSender implements Sender{
public void send() {
System.out.println("This is smsSender!");
}
}
/**
*工厂接口
* @author Administrator
*
*/
interface Provider{
public Sender product();
}
/**
* 短信工厂
* @author Administrator
*
*/
class SmsSenderFactory implements Provider{
public Sender product() {
return new SmsSender();
}
}
/**
* 邮箱工厂
* @author Administrator
*
*/
class MailSenderFoctory implements Provider{
public Sender product() {
return new MailSender();
}
}