创建型模式:工厂方法模式
1. 工厂方法模式的角色
工厂方法模式是一种创建对象的方式,但它允许子类决定具体实例化哪个类。不同的子类可能会实现同一接口;工厂方法根据客户端提供的信息或从当前状态中提取的信息来实例化适当的子类。以下是工厂方法模式中的几个关键角色:
- 产品 (Product) :定义所有具体产品共有的接口。
- 具体产品 (Concrete Product) :实现产品接口的具体类。
- 创建者 (Creator) :声明一个工厂方法,该方法返回一个产品接口类型的产品。创建者的职责是延迟创建具体产品的决策。
- 具体创建者 (Concrete Creator) :重写工厂方法以返回具体产品。
2. 插图与示例
2.1 鳄梨供应案例
考虑一家位于伦敦的高档杂货店,全年都供应鳄梨。这家店依赖一位采购员确保无论一年中的何时,鳄梨都能定期到货。采购员负责寻找最佳的鳄梨并供应给商店。采购员的作用就像工厂方法一样,根据一年中的不同时间,返回肯尼亚、南非或西班牙的鳄梨。尽管产品都有标签,但店主并不特别关心产品的来源。
图2.1:工厂方法模式插图——鳄梨供应
graph TD;
Client --> Creator;
Creator -->|FactoryMethod|
超级会员免费看
订阅专栏 解锁全文
1409

被折叠的 条评论
为什么被折叠?



