`

java模式--抽象工厂模

阅读更多



 

 

 

 

package abstractFactory;

public interface Creator {
/*
* 产品等级结构A的工厂方法
*/
public ProductA factoryA();
/*
* 产品等级结构B的工厂方法
*/
public ProductB factoryB();

}

package abstractFactory;

public class ConcreteCreator1 implements Creator {
/*
* 产品等级结构A的工厂方法
*/
public ProductA factoryA() {
   return new ProductA1();
}
/*
* 产品等级结构B的工厂方法
*/
public ProductB factoryB() {
   return new ProductB1();
}

}

package abstractFactory;

public class ConcreteCreator2 implements Creator {
/*
* 产品等级结构A的工厂方法
*/
public ProductA factoryA() {
   return new ProductA2();
}
/*
* 产品等级结构B的工厂方法
*/
public ProductB factoryB() {
   return new ProductB2();
}

}

package abstractFactory;

public interface ProductA {

}

package abstractFactory;

import static logger.Log.debug;

public class ProductA1 implements ProductA {
/*
* 构造子
*/
public ProductA1(){
   debug("ProductA1");
}

}

package abstractFactory;

import static logger.Log.debug;

public class ProductA2 implements ProductA {
/*
* 构造子
*/
public ProductA2() {
   debug("ProductA2");
}
}

package abstractFactory;

public interface ProductB {

}

package abstractFactory;

import static logger.Log.debug;

public class ProductB1 implements ProductB {
/*
* 构造子
*/
public ProductB1(){
   debug("ProductB1");
}
}

package abstractFactory;

import static logger.Log.debug;

public class ProductB2 implements ProductB {
/*
* 构造子
*/
public ProductB2(){
   debug("ProductB2");
}
}

package abstractFactory;
/*
* 客户端测试
*/
public class Client {
/*
* 工厂
*/
private static Creator creator1,creator2;
/*
* A等级产品
*/
@SuppressWarnings("unused")
private static ProductA producta1,producta2;
/*
* B等级产品
*/
@SuppressWarnings("unused")
private static ProductB productb1,productb2;
public static void main(String[] args){
   creator1 = new ConcreteCreator1();
   creator2 = new ConcreteCreator2();
   /*
   * 产品族1
   */
   producta1 = creator1.factoryA();
   productb1 = creator1.factoryB();
   /*
   * 产品族2
   */
   producta2 = creator2.factoryA();
   productb2 = creator2.factoryB();
}

}

  • 大小: 18.2 KB
  • 大小: 32.5 KB
  • 大小: 33.6 KB
分享到:
评论

相关推荐

    基于Java实现的23种设计模式Demo,抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式等

    Java设计模式共有23种,分别为:抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子...

    基于抽象工厂模式的塑料加工厂(java).zip

    项目需求: 有两间塑料加工厂(A厂仅生产容器类产品;B厂仅生产模具类产品);... 抽象工厂模式以一种倾斜的方式支持增加新的产品,它为新产品族的增加提供方便,而不能为新的产品等级结构的增加提供这样的方便。

    Java设计模式-图解-附代码

    1.1.2 抽象工厂 6 1.1.3 建造者模式 10 1.1.4 单态模式 13 1.1.5 原型模式 15 1.2 结构型模式 17 1.2.1 适配器模式 17 1.2.2 桥接模式 19 1.2.3 组合模式 23 1.2.4 装饰模式 26 1.2.5 外观模式 29 1.2.6 享元模式 32...

    23种设计模式的java实现

    抽象工厂模式 http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html 工厂方法 http://www.cnblogs.com/java-my-life/archive/2012/03/25/2416227.html 建造者模式 ...

    设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板.pptx

    logo 1工厂模式:一个接口封装更多接口工厂模式:一个接口封装更多接口 设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板全文共22页,当前为第2页。 2桥接模式:定义一个接口、两个类都实现该接口桥接模式:...

    抽象工厂模式+工厂方法模式+策略模式实现手机加工厂

    深入浅出设计模式之抽象工厂模式+工厂方法模式+策略模式实现手机加工厂

    design-pattern-java.pdf

    工厂三兄弟之抽象工厂模式(二) 工厂三兄弟之抽象工厂模式(三) 工厂三兄弟之抽象工厂模式(四) 工厂三兄弟之抽象工厂模式(五) 单例模式-Singleton Pattern 确保对象的唯一性——单例模式 (一) 确保对象的...

    Java 经典设计模式讲解以及项目实战

    6 抽象工厂模式 7 建造者模式 8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+策略+工厂方法 3 动态代理+Spring AOP 4 责任链...

    Java设计模式之工厂模式分析【简单工厂、工厂方法、抽象工厂】

    主要介绍了Java设计模式之工厂模式,结合实例形式分析了简单工厂、工厂方法、抽象工厂等相关功能、实现与使用方法,需要的朋友可以参考下

    Head First 设计模式 JAVA源码

    第三讲:抽象工厂模式 第四讲:工厂模式在开发中的运用 第五讲:单例模式 第六讲:原型模式 第七讲:建造者模式 第八讲:装饰模式 第九讲:策略模式 第十讲:观察者模式 第十一讲:享元模式 第十二讲:代理...

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    抽象工厂模式 原型模式 建造者模式 单例模式 结构型模式 队列模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 行为模式(类行为模式) 解释器模式 模板方法模式 行为模式(对象行为模式) 策略模式 ...

    java版本二十三种设计模式.zip

    - 抽象工厂模式(Abstract Factory) - 单例模式(Singleton) - 建造者模式(Builder) - 原型模式(Prototype) - 代理模式(Proxy) - 适配器模式(Adapter) - 装饰器模式(Decorator) - 桥接模式(Bridge) - 组合...

    java 23种设计模式.zip

    1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:模板方法模式、命令模式、...

    java-design-patterns:设计模式

    抽象工厂模式 建造者模式 原型模式 结构设计模式 适配器图案 复合图案 代理模式 跳线模式 外墙图案 桥型 装饰图案 行为设计模式 模板方法模式 中介者模式 责任链模式 观察者模式 策略模式 命令模式 状态模式 访客...

    java设计模式

    30.2 抽象工厂模式VS建造者模式 30.2.1 按抽象工厂模式生产车辆 30.2.2 按建造者模式生产车辆 30.2.3 最佳实践 第31章 结构类模式大PK 31.1 代理模式VS装饰模式 31.1.1 代理模式 31.1.2 装饰模式 31.1.3 最佳实践 ...

    设计模式-7种开发语言(C#、JAVA、JavaScript、C++、Python、Go、PHP).pdf

    第四节 抽象工厂模式 第五节 单例模式 第六节 外观模式 第七节 模板模式 第八节 组合模式 第九节 代理模式 第十节 命令模式 第十一节 观察者模式 第十二节 策略模式 第十三节 建造者模式 第十四节 适配器模式 第十五...

    java常用23中设计模式

    创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:...

    java设计模式示例

    创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型模式(11种):策略...

    Java面试 java设计模式整理 单例、工厂、策略等 面试使用,学习使用

    2. 抽象工厂模式(Abstract Factory) 3 3. 单例模式(Singleton) 4 4.建造者模式(Builder) 4 5. 原型模式(Protype) 5 6.适配器模式(Adapter) 6 7.装饰模式(Decorator) 6 8.代理模式(Proxy) 7 9.外观模式...

    《Java设计模式》详解

    内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、...

Global site tag (gtag.js) - Google Analytics