抽象工廠模式(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