`

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

    **Java设计模式——抽象工厂** 在软件工程中,设计模式是一种在特定场景下解决常见问题的模板或蓝图。抽象工厂模式是设计模式中的一种结构型模式,它提供了一个创建对象族的接口,但允许子类决定实例化哪一个类。这...

    java设计模式---诙谐易懂版

    例如,代理模式(Proxy Pattern)、单例模式(Singleton Pattern)、工厂方法模式(Factory Method Pattern)、抽象工厂模式(Abstract Factory Pattern)、适配器模式(Adapter Pattern)、模板方法模式(Template ...

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

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

    简单工厂模式、工厂模式、抽象工厂模式案例(C++实现)

    在这个压缩包中,包含了三种工厂模式的C++实现:简单工厂模式、工厂方法模式以及抽象工厂模式。让我们一一探讨这些模式。 1. 简单工厂模式: 简单工厂模式是一种静态工厂方法,它提供一个公共的工厂类来创建对象。...

    抽象工厂模式的C++、Java实现

    在Java中,抽象工厂模式的实现稍微不同,因为Java没有显式的接口关键字,而是通过抽象类或者接口来定义抽象工厂。假设我们有`AbstractFactory`类或接口,其中包含`createProductA()`和`createProductB()`等方法。...

    java与模式-阎宏

    2. 创建型模式:包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。这些模式主要关注对象的创建过程,使得代码更加灵活,易于管理和测试。 3. 结构型模式:包括适配器模式、桥接模式、组合模式、...

    设计模式----工厂模式

    - 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 工厂模式在IT行业中有着广泛应用,比如在框架设计、数据库连接管理、GUI组件创建等方面。通过引入工厂模式,可以降低系统...

    Java设计模式之抽象工厂模式

    抽象工厂模式是设计模式中的一种,它属于创建型模式。在抽象工厂模式中,接口被用来创建一组相关或相互依赖的对象,而无需指定它们具体的类。抽象工厂模式是工厂方法模式的一种扩展,它用来生产一系列相关或相互依赖...

    Java设计模式----通俗易懂版

    - 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,无需指定它们的具体类。 - 建造者模式:将复杂对象的构建与其表示分离,使同样的构建过程能创建不同的表示。 - 原型模式:通过复制已有对象来创建...

    java模式-java中的所有模式-java进阶必备···

    抽象工厂模式(Abstract Factory)** - **定义**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 - **应用场景**:系统中有多于一个的产品族,而每次只使用其中的一个;系统提供一个产品...

    java---------设计模式

    - 抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而无需指定具体类。 - 建造者模式:将复杂对象的构建与其表示分离,使得相同的构建过程可以创建不同的表示。 - 组合模式:允许你将对象组合成树形...

    设计模式-Java语言中的应用

    设计模式通常分为三类:创建型模式(如工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式),结构型模式(如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式)以及行为型模式(如...

    JAVA设计模式-chm版

    这类模式关注对象的创建过程,包括单例模式(Singleton)、工厂模式(Factory)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。它们提供了创建对象的不同策略,使代码更加灵活...

    Java设计模式-简单工厂

    **Java设计模式——简单工厂** 简单工厂模式是软件设计模式中的一种基础模式,它属于创建型设计模式。在Java编程中,我们常常会遇到需要创建一系列相关或相互依赖的对象,而这些对象的创建过程可能会非常复杂。这时...

    Java设计模式-工厂方法

    3. **抽象工厂(Abstract Factory)**:这是工厂方法模式的核心,它声明了创建产品对象的工厂方法。这个方法并不直接创建产品,而是由其子类来实现具体的创建过程。 4. **具体工厂(Concrete Factory)**:具体工厂...

    JAVA版-设计模式解析(第二版)综合项目实战pdf文档+视频教程

    2. **创建型模式**:包括单例模式、工厂方法模式、抽象工厂模式、建造者模式和原型模式。这些模式关注对象的创建,帮助我们处理复杂对象的构造过程,同时保持代码的灵活性。 3. **结构型模式**:包括适配器模式、...

    讲故事,学(Java)设计模式-工厂模式Java开发Jav

    工厂模式有三种主要形式:简单工厂模式、工厂方法模式和抽象工厂模式。简单工厂模式是最基础的形式,它包含一个静态方法用于创建对象。工厂方法模式则将对象的创建委托给子类,增加了灵活性,使得添加新产品时无需...

    java-design-patterns-master_JAVAdesignpattens_java_design_

    3. **抽象工厂模式(Abstract Factory Pattern)**:为创建一组相关或相互依赖的对象提供一个接口,而无需指定它们的具体类。 4. **建造者模式(Builder Pattern)**:将一个复杂对象的构建与其表示分离,使得同样...

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

    - **抽象工厂**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。 - **建造者模式**:将复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。 - **单例模式**:保证一个...

    Java设计模式-

    - **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。适用于产品族的场景,可以隔离产品对象和客户端之间的耦合。 - **建造者模式**:将复杂对象的构建与其表示分离,使得...

Global site tag (gtag.js) - Google Analytics