C#工厂方法模式(Factory Method)详解与应用

一、工厂方法模式核心定义

工厂方法模式(Factory Method)是创建型设计模式,核心目标是:

  1. 定义一个创建对象的抽象接口(工厂接口 / 抽象类),将对象的实例化延迟到其子类;
  2. 解耦 “对象的创建” 和 “对象的使用”,让客户端只依赖抽象,不依赖具体产品;
  3. 支持产品类型的扩展,新增产品时无需修改原有代码(符合开闭原则)。

二、工厂方法模式的核心结构

工厂方法模式包含 4 个核心角色,我用表格清晰梳理:

角色名称 作用
抽象产品(Product) 定义产品的公共接口 / 抽象类,规定所有具体产品必须实现的方法
具体产品(Concrete Product) 实现抽象产品接口,是工厂方法创建的目标对象
抽象工厂(Creator) 定义工厂方法的抽象接口 / 抽象类,返回抽象产品类型,不负责具体实例化
具体工厂(Concrete Creator) 实现抽象工厂的工厂方法,返回具体产品的实例(真正创建对象的地方)

三、C# 完整实现示例(电商支付场景)

以电商系统的 “支付方式” 为例(支持支付宝、微信支付,后续可扩展银联支付),这是工厂方法模式最典型的应用场景:

步骤 1:定义抽象产品(支付方式接口)
/// <summary>
/// 抽象产品:支付方式接口(定义所有支付方式的公共行为)
//
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工业程序猿老赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值