简单工厂模式的概念
就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。
简单工厂模式的UML图(由idea生成)
首先定义信息发送抽象接口
public interface Sender {
public void Send();
}
定义不同发送渠道,同样都有发送动作
/**
* @ClassName SenderMail
* @Description TODO 邮件发送类
* @Author mc
* @Date 2019/4/24 11:21
* @Version 1.0
**/
public class SenderMail implements Sender {
@Override
public void Send() {
System.out.println("The mail has been sent");
}
}
/**
* @ClassName SenderSms
* @Description TODO 短信发送
* @Author mc
* @Date 2019/4/24 11:21
* @Version 1.0
**/
public class SenderSms implements Sender {
@Override
public void Send() {
System.out.println("SMS has been sent");
}
}
最后建立一个单位,把两个能够通讯的公司管理起来
/**
* @ClassName SendFactory
* @Description TODO
* @Author mc
* @Date 2019/4/24 11:23
* @Version 1.0
**/
public class SendFactory {
public Sender produceMail() {
return new MailSender();
}
public Sender produceSms() {
return new SmsSender();
}
}
建立一个测试类
public static void main(String[] args) {
SendFactory sendFactory = new SendFactory();
sendFactory.produceMail().Send();
}