(1)普通工厂模式
建立一个工厂类,对实现了同一接口的类进行实例创建
class Factory{ public Sender Send(String type){ if(type.equels("XXX")){ return new MailSender(); }else if(type.equels("XXX")){ return new SmsSender(); }...... } } Factory factory = new Factory(); Sender send = factory.Send("mail");
(2)多个工厂方法模式
对普通的工厂模式的改进,避免type传入出错
class Factory{ public Sender MailSend(){ return new MailSender(); } public Sender SmsSend(){ return new SmsSender(); } } Factory factory = new Factory(); Sender send = factory.MailSender();
(3)静态工厂模式
上面Factory的方法全部改为static
Sender send = Factory.MailSender();