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

创建型模式:抽象工厂(Abstract Factory)模式

在这里插入图片描述

一、概念与核心思想​

抽象工厂(Abstract Factory)模式是创建型设计模式的重要成员,它提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。该模式将对象的创建逻辑封装在抽象工厂及其具体实现类中,客户端通过抽象工厂接口获取所需的对象族,实现对象创建与使用的解耦,从而提高代码的可维护性和扩展性。​

二、模式结构与角色​

  1. 抽象产品(Abstract Product): 定义抽象产品的接口或抽象类,是具体产品的抽象表示。一个抽象工厂模式中通常会有多个抽象产品,它们代表了相关联的产品族。​
  2. 具体产品(Concrete Product): 实现抽象产品接口,是具体被创建的对象,每个具体产品都属于某个产品族。​
  3. 抽象工厂(Abstract Factory): 声明创建抽象产品对象的方法接口,这些方法用于创建一系列相关的产品。抽象工厂是模式的核心,它定义了创建产品族的规范。​
    4. 具体工厂(Concrete Factory): 实现抽象工厂接口,负责创建具体的产品对象,每个具体工厂创建特定的产品族。​

三、代码示例​

假设我们要开发一个跨平台的用户界面(UI)系统,有 Windows 和 Mac 两种操作系统平台,每个平台都有按钮(Button)和文本框(TextBox)两种 UI 组件。使用抽象工厂模式来创建这些 UI 组件,示例代码如下:

/// <summary>
/// 抽象产品:按钮接口
/// </summary>
interface IButton
{void Display();
}/// <summary>
/// 具体产品:Windows按钮
/// </summary>
public class WindowsButton : IButton
{public void Display(){Console.WriteLine("显示Windows风格的按钮");}
}/// <summary>
/// 具体产品:Mac按钮
/// </summary>
public class MacButton 
http://www.xdnf.cn/news/4795.html

相关文章:

  • Matlab 数控车床进给系统的建模与仿真
  • ubuntu24.04安装cuda
  • 微程序控制器的详细工作过程
  • 基于精准光域控制的光触发RFID标签
  • 【万字长文】深入浅出 LlamaIndex 和 LangChain:从RAG到智能体,轻松驾驭LLM应用开发
  • python调用国税乐企直连接口开数电票之API调用工具类
  • AI领域的MCP(Model-Centric Paradigm)
  • 无线远传压力传感装置:城市管网的 “压力小卫士”
  • 【盟通杂谈】为什么现代工业需要工业协议?
  • CDGP|数据全生命周期的“收数、治数、用数、保数”体系详解
  • 操作系统 : 线程概念与控制
  • Nacos源码—Nacos集群高可用分析(三)
  • 无需标记点,精准面部捕捉!无线面捕头盔赋予自由表演空间
  • 力扣94. 二叉树的中序遍历
  • 简单网络交换、路由
  • Java 异常处理
  • 【DBMS学习系列】一、DBMS(数据库管理系统)的存储模型
  • 学成在线之课程管理
  • 100个常用的DeepSeek指令
  • Vue事件总线(EventBus)使用指南:详细解析与实战应用 父子组件传值
  • Chain of Thought (思维链) 技术详解
  • 按摩椅上的气囊系统 是现代按摩椅中非常关键的组成部分,它与机芯系统相辅相成,为用户提供全方位、更接近真人按摩的体验
  • WSL(Windows Subsystem for Linux)入门
  • 绿色计算:可持续发展的计算技术
  • 记录一次华为魔改 fusionlnsight和ai问答的狗血故事
  • 【吃透 Elasticsearch 的核心原理】学习步骤
  • 系统网络运维基础:Linux与Windows实践指南(带电子书资料)
  • 网络磁盘挂载 iSCSI、SMB、WebDAV和FTP协议比较
  • k8s术语之job
  • 适用于室外远距离通信的Lora