[英]Is the below design an abstract factory?
我有以下场景
方法采用车辆类型对象并返回以下内容
一个。 公路车辆b。 水车c。 飞行的车辆。
另一种方法从1返回对象并提供更具体的对象。 如果“道路车辆退回”,那么此方法将返回汽车,公共汽车等。
我可以说这是抽象工厂模式的一个例子吗? 因为在步骤1中,我得到了一个可能的工厂,并且在步骤2中,它更具特定的对象。
问候
你不是先创建一个具体的工厂,所以我不认为这是抽象工厂的代表。 因此,你有一个具体的工厂方法。
在这种情况下,您有一个工厂方法。
不,你不是一个抽象工厂,它更像是一个工厂方法模式 。
Abstract Factory提供了用于创建一系列相关对象的接口,而无需显式指定其类。
像这样的东西就是抽象工厂
interface CarSparePartFactory{
public SparkPlug createSparkPlug();
public Wheel createWheel();
}
interface SparkPlug{
}
interface Wheel{
}
在这里,您将使用界面创建一组相关对象。
有关抽象工厂的更多信息:
事实并非如此。 抽象工厂应该自己确定要创建的对象的类型。 它不应该是客户端发送的参数。 否则,抽象工厂的主要目的(“提供用于创建相关或依赖对象族的接口而不指定其具体类。”)不满足。
有关详情,请访问http://en.wikipedia.org/wiki/Abstract_factory_pattern
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.