`
samsongbest
  • 浏览: 171445 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

1 抽象工厂(Abstract Factory)模式

 
阅读更多

1.类图


 

2.类

 

   Creator

package com.javapatterns.abstractfactory;

public interface Creator {
	public ProductA factoryA();

	public ProductB factoryB();
}

   ProductA

package com.javapatterns.abstractfactory;

public interface ProductA {

}

    ProductB

package com.javapatterns.abstractfactory;

public interface ProductB {

}
 
package com.javapatterns.abstractfactory;

public class ConcreteCreatorA implements Creator {

	public ProductA factoryA() {
		// TODO Auto-generated method stub
		return new ConcreteProductA1();
	}

	public ProductB factoryB() {
		// TODO Auto-generated method stub
		return new ConcreteProductB1();
	}

}
 
package com.javapatterns.abstractfactory;

public class ConcreteCreatorB implements Creator {

	public ProductA factoryA() {
		// TODO Auto-generated method stub
		return new ConcreteProductA2();
	}

	public ProductB factoryB() {
		// TODO Auto-generated method stub
		return new ConcreteProductB2();
	}

}
 
package com.javapatterns.abstractfactory;

public class ConcreteProductA1 implements ProductA{

}
 
package com.javapatterns.abstractfactory;

public class ConcreteProductA2 implements ProductA{

}

 

package com.javapatterns.abstractfactory;

public class ConcreteProductB1 implements ProductB{

}

 

 

package com.javapatterns.abstractfactory;

public class ConcreteProductB2 implements ProductB{

}

测试代码:

package com.javapatterns.abstractfactory;

import util.S;


public class test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		ConcreteCreatorA ConcreteCreatorA = new ConcreteCreatorA();
		ProductA productA1 = ConcreteCreatorA.factoryA();
		ProductB productB1 = ConcreteCreatorA.factoryB();
		
		ConcreteCreatorB ConcreteCreatorB = new ConcreteCreatorB();
		ProductA productA2 = ConcreteCreatorB.factoryA();
		ProductB productB2 = ConcreteCreatorB.factoryB();
		S.s(productA1);
		S.s(productA2);
		S.s(productB1);
		S.s(productB2);
	}

}

 z

  • 大小: 92.1 KB
分享到:
评论

相关推荐

    抽象工厂AbstractFactory

    抽象工厂(Abstract Factory)模式是一种创建型设计模式,它提供了一种创建对象的接口,但允许子类决定实例化哪一个类。这种模式是基于对象的抽象,而不是具体的类,因此,它允许创建一系列相关的对象,而无需指定...

    C# 抽象工厂 AbstractFactory.rar

    这个压缩包“C# 抽象工厂 AbstractFactory.rar”可能包含了一个关于如何在C#中实现抽象工厂模式的实例或教程。 抽象工厂模式是一种创建型设计模式,它提供了一种创建对象族的方式,而无需指定具体类。在C#中,这种...

    走进设计模式之抽象工厂(Abstract Factory)

    1. **模式结构**:抽象工厂模式通常包括抽象工厂接口(AbstractFactory),具体工厂类(ConcreteFactory),抽象产品接口(Product)以及具体产品类(ConcreteProduct)。抽象工厂定义了创建产品的方法,而具体工厂...

    抽象工厂模式abstractFactory

    1. 抽象工厂(Abstract Factory):这是接口或抽象类,定义了创建一组相关或相互依赖对象的接口,而不必指定它们的具体类。 2. 具体工厂(Concrete Factory):实现了抽象工厂接口,负责创建具体的产品对象。 3. ...

    创建型模式之抽象工厂模式(Abstract Factory Pattern)

    1. 抽象工厂(Abstract Factory):这是模式的核心,它是一个接口或抽象类,定义了一系列创建对象的方法,但并不直接实例化具体的对象。这些方法用于创建一系列相关或相互依赖的对象。 2. 具体工厂(Concrete ...

    Abstract_Factory抽象工厂

    Abstract_Factory抽象工厂Abstract_Factory抽象工厂Abstract_Factory抽象工厂Abstract_Factory抽象工厂

    创建型-抽象工厂模式(Abstract Factory)

    1. 抽象工厂(Abstract Factory):这是模式的核心,定义了一组创建对象的接口,客户端通过这个接口请求创建所需的产品。这个接口不直接创建产品,而是将产品创建的职责委托给具体工厂。 2. 具体工厂(Concrete ...

    Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)

    Java设计模式是面向对象编程...在阅读《Chapter1___Java常用设计模式(SingleTon、FactoryMethod、AbstractFactory)》的相关资料时,你可以更深入地学习这些模式的细节,包括适用场景、优缺点以及如何在实际项目中实现。

    设计模式C++学习之抽象工厂模式(AbstractFactory)

    在这个例子中,`AbstractProductA`和`AbstractProductB`是抽象产品,`ConcreteProductA1/A2`和`ConcreteProductB1/B2`是具体产品,`AbstractFactory`是抽象工厂,`ConcreteFactory1/2`是具体工厂。客户端代码通过...

    设计模式之-抽象工厂-AbstractFactory

    抽象工厂(Abstract Factory)设计模式是软件工程中一种重要的创建型设计模式,它提供了一种创建对象组的方式,这些对象属于同一族系并且彼此相关。这个模式的主要目标是定义一个接口,用于创建一族相关或相互依赖的...

    抽象工厂模式(Abstract Factory Pattern)

    ### 抽象工厂模式(Abstract Factory Pattern) #### 引入 在探讨抽象工厂模式之前,我们先回顾一下之前介绍过的简单工厂模式与工厂方法模式。这两种模式主要关注于解决对象创建过程中“new”操作的问题,使得创建...

    抽象工厂模式(Abstract factory)

    1. **抽象工厂接口(Abstract Factory)**:定义了一系列产品的创建方法,例如`NWFactory`可能是这个抽象工厂的实现,它包含了创建人和动物的方法。 2. **具体工厂类(Concrete Factory)**:实现了抽象工厂接口,...

    AbstractFactory 抽象工厂

    抽象工厂(Abstract Factory)模式是设计模式中的一种创建型模式,它提供了一种...在阅读提供的博客文章《AbstractFactory 抽象工厂》和研究压缩包中的相关文件时,你可以深入学习到更多关于这个模式的实践和应用场景。

    对设计模式—Abstract Factory模式的认识

    Abstract Factory模式的核心在于抽象工厂(Abstract Factory)和具体工厂(Concrete Factory)。抽象工厂定义了一个用于创建一系列相关或相互依赖对象的接口,而具体工厂则实现了这些接口,负责生产实际的对象。这种...

    工厂方法和抽象工厂——Factory Method & Abstract Factory

    在软件设计模式中,工厂方法(Factory Method)和抽象工厂(Abstract Factory)是两种非常重要的创建型模式。它们主要用于解决对象实例化的问题,提供了一种封装对象创建过程的方法,使得代码更加灵活,易于扩展和...

    抽象工厂模式(AbstractFactory)源代码

    设计模式抽象工厂模式(AbstractFactory)源代码

    通过python实现抽象工厂模式(Abstract Factory Pattern).rar

    抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种在不指定具体类的情况下创建一系列相关或相互依赖对象的接口。这个模式使得客户端代码与具体产品的实现解耦,从而提高了系统的灵活性和...

    设计模式 创建型模式 Abstract Factory模式(抽象工厂)

    Abstract Factory模式 1 定义创建对象的接口,并封装对象的创建 2 将具体化类的工作延迟到了类中 3 创建创建一组相关对象或者说是一组相互依赖的对象 一般情况下,我们为了提高内聚和松耦合,经常会使用多态来...

    C#设计模式之抽象工厂(abstract factory)模式示例源代码

    ### C#设计模式之抽象工厂(Abstract Factory)模式详解 #### 概述 抽象工厂模式(Abstract Factory Pattern)是创建型设计模式的一种,它提供了一个接口用于创建一系列相关的或相互依赖的对象,而无需指定它们具体的...

    通过C#实现抽象工厂模式(Abstract Factory Pattern).rar

    在C#中实现抽象工厂模式(Abstract Factory Pattern)涉及定义一个抽象工厂接口,该接口声明用于创建抽象产品的方法。然后,为每个具体产品族实现一个具体工厂,这些工厂提供创建具体产品的实现。最后,客户端代码...

Global site tag (gtag.js) - Google Analytics