抽象工厂模式(Abstract Factory)html
抽象工厂模式,建立多个工厂类,这样一旦须要增长新的功能,直接增长新的工厂类就能够了,不须要修改以前的代码。java
抽象工厂类,这样若是须要在工厂类添加方法的时候,就能够不去修改原有的工厂类ide
我的感受通常状况下用工厂类就能够,这种方式虽然对扩展性好,可是无形会增长类的数量,中小系统若是没有那么规范的状况下 不必去这么作,直接修改provider一个工厂类就能够了,这样我的感受会更容易理解和使用,也不用每一次用都要去建立工厂类对象了。测试
public interface Sender { public void Send(); } //两个实现类: public class MailSender implements Sender { @Override public void Send() { System.out.println("this is mailsender!"); } } public class SmsSender implements Sender { @Override public void Send() { System.out.println("this is sms sender!"); } } // 在提供一个接口: public interface Provider { public Sender produce(); } //两个工厂类: public class SendMailFactory implements Provider { @Override public Sender produce(){ return new MailSender(); } } public class SendSmsFactory implements Provider{ @Override public Sender produce() { return new SmsSender(); } } //测试类: public class Test { public static void main(String[] args) { Provider provider = new SendMailFactory(); Sender sender = provider.produce(); sender.Send(); } }
代码的 REFERENCE: https://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.htmlthis