Java设计模式之工厂模式----短信邮件小实例

1,175 阅读1分钟

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();

  }
}