* 抽象为产品类接口
*/
public interface Sender {
public void send();
}
* 具体产品的实现类(邮寄发送类)
* @author ZJD
*/
public class MailSender implements Sender {
@Override
public void send() {
System.out.println("this is MailSender");
}
}
* 具体产品的实现类(短信类)
* @author ZJD
*/
public class SmsSender implements Sender {
@Override
public void send() {
System.out.println("this is SmsSender");
}
}
* 工厂类生产接口
* @author ZJD
*/
public interface Provider {
// >>>>生成产品方法
public Sender produce();
}
* 邮件工厂实现类
* @author ZJD
*/
public class SendMailFactory implements Provider {
@Override
public Sender produce() {
return new MailSender();
}
}
* 短信工厂实现类
* @author ZJD
*/
public class SendSmsFactory implements Provider {
@Override
public Sender produce() {
return new SmsSender();
}
}
public static void main(String[] args) {
//邮件工厂实现类 -->>>>生产发送邮件类的产品
Provider provider1 = new SendMailFactory();
Sender sender1=provider1.produce();
sender1.send();
System.out.println("==========================");
//短信工厂实现类-->>>>生成发送短信的产品
Provider provider2 = new SendSmsFactory();
Sender sender2=provider2.produce();
sender2.send();
}
}
==========================
this is SmsSender
1093



被折叠的 条评论
为什么被折叠?



