设计模式二 之 抽象工厂模式(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

相关文章
相关标签/搜索