java设计模式,抽象工厂模式
2016-10-11 15:16
295 查看
package com.dasenlin.abstractfactory; /** * 抽象工厂 * @author Administrator * 工厂方法模式有一个问题就是,类的创建依赖工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则,所以,从设计角度考虑,有一定的问题,如何解决? * 就用到抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。 * 因为抽象工厂不太好理解,我们先看看图,然后就和代码,就比较容易理解。 * * 其实这个模式的好处就是,如果你现在想增加一个功能:发及时信息, * 则只需做一个实现类,实现Sender接口, * 同时做一个工厂类,实现Provider接口, * 就OK了,无需去改动现成的代码。这样做,拓展性较好! */ public class AbstractFactory { public static void main(String[] args) { Provider provider = new sendQQFactory(); Sender sender=provider.produce(); sender.send(); } } /** * 提供一个接口 * @author Administrator * */ interface Sender{ public void send(); } /** * QQ发射器实体类 * @author Administrator * */ class QQSender implements Sender{ @Override public void send() { System.out.println("QQ发射器的实体类"); } } /** * MSN发射器实体类 * @author Administrator * */ class MSNSender implements Sender{ @Override public void send() { System.out.println("MSN发射器的实体类"); } } /** * 提供一个抽象工厂接口 * @author Administrator * */ interface Provider{ public Sender produce(); } /** * 也是创建多个工厂(QQ工厂) * @author Administrator * */ class sendQQFactory implements Provider{ @Override public Sender produce() { return new QQSender(); } } class sendMSNSender implements Provider{ @Override public Sender produce() { return new MSNSender(); } }
相关文章推荐
- Java设计模式-----Abstract Factory抽象工厂模式
- java设计模式---Abstract Facotry Pattern---抽象工厂模式
- Java与设计模式(03)--抽象工厂模式
- Java设计模式二:抽象工厂模式(Abstract Factory)/工厂方法(Factory Method)
- Java设计模式 - 抽象工厂模式(Abstract Factory)
- Java 可复用的面向对象的设计模式之 工厂模式Factory详解 :简单工厂模式 工厂方法模式 抽象工厂模式
- java设计模式之工厂方法模式以及简单工厂模式还有抽象工厂模式
- java设计模式——抽象工厂模式
- JAVA设计模式 — 抽象工厂模式(Abstract Factory)
- Java设计模式之三(抽象工厂模式)
- java 设计模式 学习笔记(3) 抽象工厂模式
- 浅谈 java 设计模式--抽象工厂模式(AbstractFactory pattern)
- Java设计模式圣经连载(03)-抽象工厂模式
- java 设计模式-创建模式之抽象工厂模式
- 23种经典设计模式的java实现_1_抽象工厂模式
- Java设计模式-----Abstract Factory抽象工厂模式
- Java设计模式-----Abstract Factory抽象工厂模式
- JAVA设计模式之抽象工厂模式
- Java设计模式之抽象工厂模式
- JAVA设计模式☞☞工厂方法模式和抽象工厂模式区别