23种设计模式之原型模式(Prototype)

简介:  23种设计模式之原型模式(Prototype) 在系统开发过程中,有时候有些对象需要被频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后通过复制这个原型对象的办法,创建出更多同类型的对象。

 23种设计模式之原型模式(Prototype)

在系统开发过程中,有时候有些对象需要被频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后通过复制这个原型对象的办法,创建出更多同类型的对象。原型模式是一种对象创建型模式,用原型实例制定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式又可分为两种:浅克隆和深克隆。浅克隆仅仅复制所考虑的对象,而不复制它所引用的对象,也就是其中的成员对象并不复制;深克隆除了对象本身被复制外,对象包含的引用也被复制,即成员对象也被复制。

优点:

1)可以在运行时添加或删除产品。

2)通过改变值指定新对象。

3)通过改变结构指定新对象。

4)减少子类的生成和使用。

5)可以用类动态地配置应用程序。

使用场景:

1)在运行时,指定需要实例化的类,例如动态载入。

2)避免构建于产品的类层次结构相似的工厂类层次结构。

3)当类的实例是仅有的一些不同状态组合之一的时候。

Prototype 模式

目录
相关文章
|
1月前
|
设计模式 安全 Java
【设计模式】原型模式
【设计模式】原型模式
|
2月前
|
设计模式 Java 关系型数据库
23种设计模式 —— 原型模式【克隆羊、浅拷贝、深拷贝】
23种设计模式 —— 原型模式【克隆羊、浅拷贝、深拷贝】
35 1
|
4月前
|
设计模式 存储
二十三种设计模式全面解析-原型模式进阶之原型管理器:集中管理对象原型的设计模式之道
二十三种设计模式全面解析-原型模式进阶之原型管理器:集中管理对象原型的设计模式之道
|
4天前
|
设计模式 Java
小谈设计模式(10)—原型模式
小谈设计模式(10)—原型模式
|
28天前
|
设计模式 Java
设计模式之原型模式
设计模式之原型模式
|
3月前
|
设计模式 存储 JSON
Java设计模式-原型模式
原型模式也是创建对象的一种方式,它一般用在这样的场景:系统中存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂而且耗费资源。这个时候使用原型模式的克隆方式,能够节省不少时间。比如Java 类中提供的`Object clone()`就是原型模式的应用。
30 1
Java设计模式-原型模式
|
3月前
|
设计模式
设计模式 | 原型模式
设计模式 | 原型模式
20 0
|
3月前
|
设计模式 Go 开发工具
Golang设计模式——13原型模式
Golang设计模式——13原型模式
23 0
|
3月前
|
设计模式 缓存 前端开发
【设计模式】之原型模式
原型模式是一种常用的设计模式,它通过克隆现有对象来创建新对象,减少了重复代码并提高了性能。在前端开发中,原型模式常用于对象创建、数据共享和缓存管理等场景。然而,需要注意对共享状态的管理和克隆操作的复杂性。
36 0
|
4月前
|
设计模式
设计模式之原型模式
先来说一下原型模式的应用场景 * 创建新对象成本较大,如初始化需要占用较长的时间,占用太多的CPU资源或网络资源。在这种情况下,可以通过原型模式对已有对象进行复制来获得新对象,如果是相似对象,可以对其成员变量稍作修改。 * 在实际项目中,原型模式很少单独出现,一般是和工厂方法模式一起出现,通过 clone 的方法创建一个对象,然后由工厂方法提供给调用者。