以下设计是抽象工厂吗?

时间:2014-01-09 15:20:35

标签: java

我有以下情况

  1. 方法采用车辆类型对象并返回以下内容

    一个。道路车辆 湾水车 C。飞行车。

  2. 另一种方法从1返回对象并提供更具体的对象。如果“道路车辆返回”,则此方法将返回汽车,公共汽车等。

  3. 我可以说这是抽象工厂模式的一个例子吗?因为在步骤1中,我得到了一个可能的工厂,在步骤2中,它更具特定的对象。

    此致

4 个答案:

答案 0 :(得分:3)

你不是先创建一个具体的工厂,所以我不认为它是抽象工厂的代表。因此,你有一个具体的工厂方法。

答案 1 :(得分:1)

在这种情况下,您有一个工厂方法。

答案 2 :(得分:0)

你的不是抽象工厂,它更像是 工厂方法模式

抽象工厂

  

Abstract Factory提供了创建相关系列的界面   对象,没有明确指定它们的类。

像这样的东西就是抽象工厂

interface CarSparePartFactory{
    public SparkPlug createSparkPlug();
    public Wheel createWheel();

}

interface SparkPlug{

}

interface Wheel{

}

在这里,您将使用界面创建一组相关对象。

有关抽象工厂的更多信息:

答案 3 :(得分:0)

不是。抽象工厂应该自己确定要创建的对象的类型。它不应该是客户端发送的参数。否则,抽象工厂的主要目的(“提供用于创建相关或依赖对象族的界面而不指定其具体类。”)不满足。

http://en.wikipedia.org/wiki/Abstract_factory_pattern

了解详情