原文地址:https://jaune162.blog/design-pattern/factory-method-pattern/
概述
工厂方法模式(Factory Method Pattern)是一个对象创建型模式。
定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。
– 《设计模式:可复用面向对象软件的基础》
说的更直白一点就是,定义一个工厂接口,将对象的实例化操作放到工厂的实现类中。
解析
这个例子中有饮品 Drink
和饮品工厂 DrinkFactory
,DrinkFactory
负责生产 Drink
。在现实生活中可口可乐(Coca
)和奶茶(MilkyTea
),不是由一家生产的,而是生产可口可乐的工厂生产可口可乐,Coco奶茶店可以生产奶茶。
当我们需要奶茶饮品的时候就需要用 CocoDrinkFactory
生产,当我们需要可口可乐的时候就需要用 CocaDrinkFactory
生产。
这个例子不太恰当,因为我们不会直接从可口可乐工厂购买可口可乐。但是我认为用这个例子来解释工厂方法模式是没有问题的。而且能够清晰的描述出工厂方法模式的使用场景。
public interface Drink {
}