首页 > 其他分享 >设计模式之简单工厂模式

设计模式之简单工厂模式

时间:2024-08-24 13:48:39浏览次数:12  
标签:对象 创建 模式 工厂 实例 抽象 产品 设计模式

 

简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。

1. Factory:工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。在工厂类中提供了静态的工厂方法factoryMethod(),它的返回类型为抽象产品类型Product。

2. Product:抽象产品角色,它是工厂类所创建的所有对象的父类,封装了各种产品对象的公有方法。抽象产品的引入 将提高系统的灵活性,使得在工厂类中只需定义一个通用的工厂方法,因此所有创建的具体产品对象都是其子类对象。

3. ConcreteProduct:具体产品角色,它是简单工厂模式的创建目标,所有被创建的对象都充当这个角色的摸个具体类的实例。每个具体产品角色都继承了抽象产品角色,需要实现在抽象产品中生命的抽象方法。

 

典型的工厂类代码如下:根据所传入的参数不同可以创建不同的产品对象。

 在客户端代码中,通过调用工厂类的工厂方法即可得到产品对象,典型的代码如下:

 总结:简单工厂模式提供了专门的工厂类用于创建对象,将对象的创建和对象的使用分离开。

 

标签:对象,创建,模式,工厂,实例,抽象,产品,设计模式
From: https://www.cnblogs.com/LXLR/p/18377690

相关文章

  • 设计模式之单例模式
    创建型模式将对象的创建和使用分离,在使用对象时无需关注对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。模式名称定义学习难度使用频率单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例一颗星四颗星简单工厂模式定义一......
  • 前端宝典十六:深入浅出8大设计模式
    本文主要探讨前端开发中的各种设计模式,主要分类有:单例模式建造者模式代理模式装饰器模式适配器模式策略模式观察者模式发布订阅模式通过对他们实际开发中的使用场景的解析,深入浅出的一起更全面直观的进行学习:一、单例模式介绍:单例模式确保一个类只有一个实例,并提供一个......
  • uefi模式无法读取u盘启动怎么办_uefi模式无法读取u盘启动解决方法
    最近有网友问我uefi模式下我按快捷方式或bios中都认别不了U盘,无法正常选择u盘启动进入pe安装系统,出现这种情况一般是bios中设置了uefi模式,而制作的u盘启动不支持uefi启动导致,那么uefi模式无法读取U盘启动怎么办?下面小编就教大家uefi模式无法读取u盘启动解决方法步骤。 u......
  • 设计模式(三)
    结构型模式装饰器模式:动态的给一个对象增加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。优/缺点:装饰模式是继承关系的一个替代方案。装饰模式可以动态地扩展一个实现类的功能。缺点:多层的装饰还是比较复杂何时使用:需要扩展一个类的功能,或给一个类增加附加功......
  • lua协程实现异步编程模式
    异步编程模式只是一个代码结构,c#中的async/await的写法就是异步编程模式,这边就是通过协程来达到和async/await类似的效果。 异步编程模式写法1:资源分帧加载这边运行环境用的是:Unity+xLua lua脚本:Assets/Lua/Test9.lua.txtlocal_Time=CS.UnityEngine.Timelocalfunct......
  • Linux下Redis的安装和部署(哨兵模式)
    1.哨兵模式配置文件redis服务 redis端口 哨兵端口 主从redis-1 7001 27001 主节点redis-2 7002 27002 从节点redis-3 7003 27003 从节点下载Rediscurl-Ohttp://download.redis.io/releases/redis-6.0.6.tar.gz解压Redistarxzvfredis-6.0.6.tar.gz进入redis-6.0.6目......
  • 工厂老板、设计师怎么选通风采光天窗?重点关注哪些方面?
    选通风采光天窗首先看预算与通风采光需求,然后看品牌和售后,选购过程中重点关注天窗的型号、规格尺寸、材料配置、外观造型及颜色。一、预算与通风采光需求通风采光天窗已成为厂房建筑上必备的屋顶设备,现目前天窗的型号多样,价位差异较大。选择通风采光天窗时首先考虑预算,根据预......
  • 设计模式概述和设计原则
    1.设计模式的概念软件设计模式(SoftwareDesignPattern),是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具......
  • 设计模式[4]-建造者模式
    代码:https://gitee.com/Aes_yt/design-pattern建造者模式建造者模式是将一个复杂对象,解构为多个简单的对象,然后一步一步慢慢构造成原对象。建造者模式主要包括四种角色:抽象建造者:具有产品的多个子部件的抽象接口,最终可以返回完整产品具体建造者:对抽象建造者的实现,有多个子......
  • 设计模式[3]-原型模式
    代码:https://gitee.com/Aes_yt/design-pattern原型模式概念原型模式将一个已经创建的实例作为原型,复制出一个和原型相同的新对象。包括三种角色:抽象原型:抽象角色,提供具体原型需要实现的接口具体原型:被复制的对象,实现抽象原型的接口客户端:发出创建对象的请求。例子:先......