設計模式二 之 抽象工廠模式(Abstract Factory)

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

相關文章
相關標籤/搜索