设计模式 抽象工厂模式

首先是接口和实现接口的两个Sender


public interface Sender {
	public void Send();
}


public class MailSender implements Sender{
	
	public void Send()
	{
		System.out.println("this is MailSender");
	}

}


public class SmsSender implements Sender {

	@Override
	public void Send() {
		System.out.println("thi is SmsSender");
	}

}

一个抽象工厂

public interface Provider {
	public Sender produce();
}


public class SendMailFactory implements Provider{
	public Sender produce()
	{
		return new MailSender();
	}

}


public class SendSmsFactory implements Provider{
	public Sender produce()
	{
		return new SmsSender();
	}
}

测试

public class FactoryTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Provider provider = new SendMailFactory();
		Sender sender = provider.produce();
		sender.Send();
	}

}

原文地址:https://www.cnblogs.com/yufenghou/p/6011672.html