工厂方法模式(Factory Method Pattern)

概述

工厂方法模式(Factory Method Pattern)是一个对象创建型模式。它提供了一种将对象的创建逻辑抽象出来的方式,使得客户端代码不需要关心具体的对象创建细节,而是通过调用工厂方法来创建对象。这种模式有助于解耦对象的创建和使用,同时也提供了扩展和定制对象创建过程的灵活性。

在工厂方法模式中,通常会定义一个抽象工厂接口,其中包含一个用于创建产品对象的抽象方法。具体的产品类需要实现这个工厂接口,并提供自己的产品创建逻辑。客户端代码通过调用工厂方法来创建所需的产品对象,而无需关心具体的产品类。

定义

Define an interface for creating an object, but let subclasses decide which class to instantiate.
Factory Method lets a class defer instantiation to subclasses

定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。

引用自《设计模式:可复用面向对象软件的基础》

说的更直白一点就是,定义一个工厂接口,将对象的实例化操作放到工厂的实现类中。

结构

$2DrinkDrinkFactorygetDrink(): DrinkMilkyTeaCocoDrinkFactorygetDrink(): DrinkCocaCocaDrinkFactorygetDrink(): Drink可口可乐Coco奶茶店生产MilkyTea可口可乐工厂生产Coca
阅读更多