我正在读一本名为Head First Design Patterns的书。我对抽象工厂模式感到困惑。据说,Abstract Factory提供了一个接口,用于创建相关或依赖对象的族,而无需指定其具体类。这也是与Factory Method不同的一点。作者给出了NYPizzaIngredientFactory的一个例子,它是一个具体的子类,可以通过调用类中的一些方法来创建一系列产品(例如createDough(),createSauce() )。然而,我认为,为了创造一个特殊的酱汁,该课程必须依赖于具体的课程,如PlumTomato酱或Marirana酱。这意味着Abstract Factory必须为这些对象指定具体的类。我认为对吗?请帮忙。谢谢!
答案 0 :(得分:2)
嗯,抽象工厂本身不必指定任何具体的类,因为它是抽象的 - 它没有实现代码。
抽象工厂的实现当然是这样做的。但是:
Sauce
,那么您可以保证收到可以用作Sauce
的内容。