设计模式-创建型设计模式-04.原型模式(php)

原型模式是一种创建型设计模式,用于高效地创建对象的副本,支持浅度和深度克隆。该模式在需要复制已有对象而不希望生成新对象时非常有用。应用场景包括自定义对象创建和克隆操作。优点是可以避免复杂拷贝过程,但可能在原有类中增加额外负担。适用场景包括对象复制和结构复杂的对象创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计模式类型

创建型设计模式

设计模式名称

原型模式

模式定义

原型模式(Prototype Pattern)也是一种类的创建型模式,用于创建复制的对象,同时又能保证性能,使用原型模式创建的对象,具有与原型相同的对象数据。

UML

按照客户的层次可以分为:
1、浅度克隆
它只是完整的复制了值类型的数据,没有赋值引用对象。换句话说,就是所有的引用对象仍然指向原来的对象
2、深度克隆
堆内存中也复制了一份,实际是两个对象
在这里插入图片描述

应用场景

1、标对象的创建这一动作发自原型对象本身
2、目标对象是原型对象的一个克隆。即通过Prototype模式创建的对象,不仅与原型对象有相同的结构,还与原型对象具有相同的值
3、根据对象克隆的深度层次不同,分为浅度克隆与深度克隆

优缺点

优点

1、配备克隆方法需要对类的功能进行通盘考虑,这对于全新的类不是很难,但对于已有的类不一定很容

缺点

1、 对于全新的类使用原型模式比较容易,但是对于原有的类使用克隆模式比较困难,需要通盘考虑,当一个类应用循环结构时。

git地址:

https://github.com/wonlon/Design-patterns

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值