一、工厂方法模式核心定义
工厂方法模式(Factory Method)是创建型设计模式,核心目标是:
- 定义一个创建对象的抽象接口(工厂接口 / 抽象类),将对象的实例化延迟到其子类;
- 解耦 “对象的创建” 和 “对象的使用”,让客户端只依赖抽象,不依赖具体产品;
- 支持产品类型的扩展,新增产品时无需修改原有代码(符合开闭原则)。
二、工厂方法模式的核心结构
工厂方法模式包含 4 个核心角色,我用表格清晰梳理:
| 角色名称 | 作用 |
|---|---|
| 抽象产品(Product) | 定义产品的公共接口 / 抽象类,规定所有具体产品必须实现的方法 |
| 具体产品(Concrete Product) | 实现抽象产品接口,是工厂方法创建的目标对象 |
| 抽象工厂(Creator) | 定义工厂方法的抽象接口 / 抽象类,返回抽象产品类型,不负责具体实例化 |
| 具体工厂(Concrete Creator) | 实现抽象工厂的工厂方法,返回具体产品的实例(真正创建对象的地方) |
三、C# 完整实现示例(电商支付场景)
以电商系统的 “支付方式” 为例(支持支付宝、微信支付,后续可扩展银联支付),这是工厂方法模式最典型的应用场景:
步骤 1:定义抽象产品(支付方式接口)
/// <summary>
/// 抽象产品:支付方式接口(定义所有支付方式的公共行为)
//

最低0.47元/天 解锁文章
626

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



