10、创建型模式:工厂方法模式

创建型模式:工厂方法模式

1. 工厂方法模式的角色

工厂方法模式是一种创建对象的方式,但它允许子类决定具体实例化哪个类。不同的子类可能会实现同一接口;工厂方法根据客户端提供的信息或从当前状态中提取的信息来实例化适当的子类。以下是工厂方法模式中的几个关键角色:

  • 产品 (Product) :定义所有具体产品共有的接口。
  • 具体产品 (Concrete Product) :实现产品接口的具体类。
  • 创建者 (Creator) :声明一个工厂方法,该方法返回一个产品接口类型的产品。创建者的职责是延迟创建具体产品的决策。
  • 具体创建者 (Concrete Creator) :重写工厂方法以返回具体产品。

2. 插图与示例

2.1 鳄梨供应案例

考虑一家位于伦敦的高档杂货店,全年都供应鳄梨。这家店依赖一位采购员确保无论一年中的何时,鳄梨都能定期到货。采购员负责寻找最佳的鳄梨并供应给商店。采购员的作用就像工厂方法一样,根据一年中的不同时间,返回肯尼亚、南非或西班牙的鳄梨。尽管产品都有标签,但店主并不特别关心产品的来源。

图2.1:工厂方法模式插图——鳄梨供应
graph TD;
    Client --> Creator;
    Creator -->|FactoryMethod| 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值