Java设计模式之工厂模式----短信邮件小实例
简单的工厂模式以发送短信邮件为例下面直接上代码
//首先创建发送消息接口
public interface SendMsg {
public void send();
}
//创建邮箱发送消息类并实现SendMsg
public class SendMailMsg implements SendMsg {
@Override
public void send() {
System.out.println("this is mailsender!");
}
}
//创建短信发送消息类并实现SendMsg
public class SendSmsMsg implements SendMsg {
@Override
public void send() {
System.out.println("this is sms sender!");
}
}
//工厂类
public class SendFactory {
//依靠传进来的值尽行判断
/*public SendMsg produce(String type){
if("sms".equals(type)){
return new SendSmsMsg();
}else if("mail".equals(type)){
return new SendMailMsg();
}else {
System.out.println("请输入正确的发送类型");
return null;
}
}*/
//静态方法
public static SendMsg sendmail(){
return new SendMailMsg();
};
public static SendMsg sendsms(){
return new SendSmsMsg();
}
}
//测试类 这里使用静态方法调用,方便调用省去了new SendFactory的操作 如果使用传参调用则需要new出来SendFactory对象
public class TestFactory {
public static void main(String[] args) {
//静态工厂直接打点调用
SendMsg sendmail = SendFactory.sendmail();
sendmail.send();
System.out.println("---------------------------------");
SendMsg sendsms = SendFactory.sendsms();
sendsms.send();
}
}