加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1 - 什么是原型模式
    • 2 – 什么情况下要用原型模式?
    • 3 – 如何使用原型模式?
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

嵌入式 C 语言设计模式 --- 原型模式

2023/01/04
891
阅读需 4 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
我是老温,一名热爱学习的嵌入式工程师。让我们一起变得更加优秀!

1 - 什么是原型模式

原型模式(Prototype Pattern),是属于创建型模式的一种。原型模式主要是使用了原型对象实例,来指定被创建对象的种类,并且通过拷贝原型对象的方式,来创建新的对象。

顾名思义,就是在创建一个新的对象的时候,先要有一个模板,这个模板被称作“原型”,后续被创建的新对象,就是依据这个“原型”进行创建的。

在原型模式里面,原型模板提供了一个克隆接口,方便通过已经存在的对象进行新对象的创建,也就是说,在创建一个新对象的时候,直接克隆原型对象就可以了,本质上隐藏了对象创建的细节,又大大提高了性能。

举个例子,原型模式就像文件复印一样,我们在进行复印时,需要先有一个模板放到打印机里面,然后打印机就会根据我们提供的模板,进行一模一样的复印操作,而我们不需要具体知道打印机的复印原理和复印过程。

原型模式主要涉及三种角色分类:原型抽象角色、原型实例角色、客户端角色,以下是这三种角色的说明。

原型抽象角色:对原型模板的抽象,也就是说,把原型对象必须要实现的接口抽象出来,例如在prototype.h文件中抽象出来的结构体

原型实例角色:由原型抽象角色定义出来的,供客户端角色使用的原型实例对象,也就是实实在在的模板,由原型构造函数进行构建。

客户端角色:调用原型实例角色的客户端程序,在例程里面就是main函数。

2 – 什么情况下要用原型模式?

当需要创建一个与原型一模一样的对象,而不想调用对象创建的构造函数,就可以使用原型模式,

即使原型的属性和状态发生改变,也可以创建出一个与原型当前状态一致的新对象。

使用原型模式可以省去一系列对象构建的复杂操作,开发者在创建对象的时候,不需要关心对象创建的具体过程和细节。

3 – 如何使用原型模式?

还是复印试卷文件为例,在进行试卷复印之前,需要先提供一份试卷原型模板,然后打印机才能根据模板复印出多份一模一样的试卷。

原型模式主要涉及到3种角色,分别是原型抽象角色、原型实例角色、客户端角色,主要对这三种角色进行代码编写工作。

未完

 

查看全部内容点击:https://mp.weixin.qq.com/s/mqpYJdm4VbqMtq3UDCuGww

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
ECS-160-10-30B-CKM-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal,

ECAD模型

下载ECAD模型
$7.67 查看
SFH203FA 1 OSRAM GmbH FIBER OPTIC PHOTODIODE DETECTOR, PLASTIC PACKAGE-2

ECAD模型

下载ECAD模型
$0.64 查看
AT27C010-70PU 1 Microchip Technology Inc IC OTP 1MBIT 70NS 32DIP

ECAD模型

下载ECAD模型
$4.88 查看

相关推荐

电子产业图谱