工厂模式:一个接口封装更多接口
简单工厂模式,通过声明一个服务接口来封装各个要实现内容的方法,每个方法再返回一个接口。
//某类操作接口
interface Sender{
public void Send();
}
//实现接口
class MailSender implements Sender{
@Override
public void Send() {
System.out.println("MailSender实现类");
}
}
//实现接口
class SmsSender implements Sender{
@Override
public void Send() {
System.out.println("SmsSender实现类");
}
}
//服务接口:声明一堆方法,每个方法返回一个接口
interface ServiceFactory{
public Sender sender();
}
//工厂1实现服务接口
class SendMailFactory implements ServiceFactory{
public Sender sender(){
return new MailSender();
}
}
//工厂2实现服务接口
class SendSmsFactory implements ServiceFactory{
public Sender sender(){
return new SmsSender();
}
}
//测试类
public class FactoryMode {
public static void main(String[] args) {
//mai工厂
ServiceFactory serviceFactory = new SendMailFactory();
serviceFactory.sender().Send();
//sms工厂
serviceFactory = new SendSmsFactory();
serviceFactory.sender().Send();
}
}
运行结果: