嵌入式 C 语言之原型模式应用

嵌入式技术

1335人已加入

描述

1 - 什么是原型模式?

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

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

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

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

图片来源:网络

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

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

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

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

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

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

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

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

嵌入式

3 – 如何使用原型模式?

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

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

编辑:黄飞

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分