2 抽象工厂模式(Abstract Factory)
来源:互联网 发布:著名时装插画师知乎 编辑:程序博客网 时间:2024/06/01 21:17
工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决?就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了
//接口public interface Sender { public void Send();}//实现类1public class MailSender implements Sender { public void Send() { System.out.println("mail sender"); } }//实现类2public class SMSSender implements Sender { public void Send() { System.out.println("SMS sender"); } }
//抽象工厂1public class SendMailFactory implements Provider { public Sender produce() { return new MailSender(); }}//抽象工厂2public class SMSSenderFactory implements Provider { public Sender produce() { return new SMSSender(); }}//抽象工厂测试public class AbstractFactoryTest { public static void main(String[] args) { Provider pro = new SendMailFactory(); Sender sender = pro.produce(); sender.Send(); }}
其实这个模式的好处就是,如果你现在想增加一个功能:发及时信息,则只需做一个实现类,实现Sender接口,同时做一个工厂类,实现Provider接口,就OK了,无需去改动现成的代码。这样做,拓展性较好!
来自为知笔记(Wiz)
0 0
- 2--抽象工厂模式(Abstract Factory)
- 2 抽象工厂模式(Abstract Factory)
- 2 抽象工厂模式(Abstract Factory)
- 2、抽象工厂模式(Abstract Factory)
- 创建型模式2:抽象工厂模式(Abstract Factory)
- java设计模式2--抽象工厂模式(Abstract Factory)
- 设计模式(2)-抽象工厂模式(Abstract Factory)
- 设计模式(2)- 抽象工厂(Abstract Factory)
- 抽象工厂(Abstract Factory)模式
- 抽象工厂模式(Abstract Factory)
- 抽象工厂(Abstract Factory)模式
- 抽象工厂模式(Abstract Factory)
- 抽象工厂模式(Abstract Factory)
- 抽象工厂模式(Abstract Factory)
- 抽象工厂模式(abstract factory pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 抽象工厂模式(Abstract Factory)
- 抽象工厂模式(Abstract Factory)
- HashMap
- Java与模式
- PMAC运动程序例程(三)
- 1 工厂方法模式(Factory Method)
- 2 抽象工厂模式(Abstract Factory)
- 2 抽象工厂模式(Abstract Factory)
- C++模板
- 3 单例模式(Singleton)
- 4 建造者模式(Builder)
- 5 原型模式(Prototype)
- 关于android 不同版本获取wifi SSID,真的没话说了
- 6 适配器模式(Adapter)
- bootstrap modal 弹窗
- 7 装饰模式(Decorator)