我有以下情况
方法采用车辆类型对象并返回以下内容
一个。道路车辆 湾水车 C。飞行车。
另一种方法从1返回对象并提供更具体的对象。如果“道路车辆返回”,则此方法将返回汽车,公共汽车等。
我可以说这是抽象工厂模式的一个例子吗?因为在步骤1中,我得到了一个可能的工厂,在步骤2中,它更具特定的对象。
此致
答案 0 :(得分:3)
你不是先创建一个具体的工厂,所以我不认为它是抽象工厂的代表。因此,你有一个具体的工厂方法。
答案 1 :(得分:1)
在这种情况下,您有一个工厂方法。
答案 2 :(得分:0)
你的不是抽象工厂,它更像是 工厂方法模式 。
Abstract Factory提供了创建相关系列的界面 对象,没有明确指定它们的类。
像这样的东西就是抽象工厂
interface CarSparePartFactory{
public SparkPlug createSparkPlug();
public Wheel createWheel();
}
interface SparkPlug{
}
interface Wheel{
}
在这里,您将使用界面创建一组相关对象。
有关抽象工厂的更多信息:
答案 3 :(得分:0)
不是。抽象工厂应该自己确定要创建的对象的类型。它不应该是客户端发送的参数。否则,抽象工厂的主要目的(“提供用于创建相关或依赖对象族的界面而不指定其具体类。”)不满足。
了解详情