当前位置: 首页 > news >正文

创建型模式:工厂方法(Factory Method)模式

一、简介

工厂方法(Factory Method)模式是一种创建型设计模式,它定义了一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。在 C# 中,工厂方法模式提供了一种更灵活的对象创建方式,将对象的创建和使用分离,提高了代码的可维护性和扩展性。

二、角色和职责

  1. 抽象产品(Product): 定义了产品的接口或抽象类,所有具体产品都实现或继承自该接口或抽象类。
  2. 具体产品(Concrete Product): 实现了抽象产品接口,是具体被创建的对象。
  3. 抽象工厂(Creator): 声明了工厂方法,该方法返回一个抽象产品类型的对象。抽象工厂可以包含一些与产品相关的业务逻辑,这些逻辑可能依赖于工厂方法所创建的产品对象。
  4. 具体工厂(Concrete Creator): 实现了抽象工厂中的工厂方法,负责创建具体的产品对象。

三、代码示例

下面通过一个简单的示例来演示工厂方法模式在 C# 中的实现。假设我们要创建一个简单的图形绘制程序,有圆形(Circle)和矩形(Rectangle)两种图形,并且使用工厂方法模式来创建这些图形。

/// <summary>
/// 抽象产品:图形接口
/// </summary>
interface IShape
{void Draw();
}/// <summary>
/// 具体产品:圆形
/// </summary>
public class Circle : IShape
{public 
http://www.xdnf.cn/news/343981.html

相关文章:

  • 最新CDGP单选题(第四章)补充
  • 力扣智慧思想小题,目录力扣.跳跃游戏(思想很重要)力扣.跳跃游戏II(还是思想)力扣.分发糖果力扣151.反转字符串中的单词力扣.轮转数组
  • cat、more和less的区别
  • 趣味编程:答案之书
  • CSS动画
  • AI视频生成的艺术:镜头语言
  • 多模态大语言模型arxiv论文略读(六十四)
  • 算法每日一题 | 入门-分支结构-Apples Prologue/苹果和虫子
  • DevExtreme JS ASP.NET Core v25.1新功能预览 - 全新的Stepper组件
  • 《函数基本语法》
  • 标准 PVT (Process-Voltage-Temperature) 签核矩阵
  • VBA -- 学习Day2
  • Linux常用命令34——uname显示系统内核信息
  • P2415 集合求和 详解
  • idea出现tomcat不能正确部署的问题--解决方案2
  • 前端面试每日三题 - Day 28
  • OpenCV CPU性能优化
  • 【文档智能】开源的阅读顺序(Layoutreader)模型使用指南
  • 可变参数包 和 lambda表达式
  • 代码简洁之道
  • 公链钱包开发:技术逻辑与产品设计实践
  • 21、魔法传送阵——React 19 文件上传优化
  • 【Dv3Admin】Git 子模块在 Dv3admin 插件项目统一管理实践
  • SpringBoot的自动配置功能-笔记
  • 智能边缘计算系统:基于Python的创新应用
  • python3连接数据库工具类之Oracle
  • Day19 常见的特征筛选算法
  • 零拷贝的简单复习
  • Python变量作用域
  • C PRIMER PLUS——第6-2节:二维数组与多维数组