位置: 编程技术 - 正文

学习php设计模式 php实现原型模式(prototype)(php 设计模式 鸟哥)

编辑:rootadmin

推荐整理分享学习php设计模式 php实现原型模式(prototype)(php 设计模式 鸟哥),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php设计模式及使用场景,php 设计模式 鸟哥,php设计模式及使用场景,php常见设计模式和用途,php23种设计模式,php 设计模式 鸟哥,php 设计模式 鸟哥,php 设计模式 鸟哥,内容如对您有帮助,希望把文章链接给更多的朋友!

一、意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象二、原型模式结构图

三、原型模式中主要角色抽象原型(Prototype)角色:声明一个克隆自身的接口

具体原型(Concrete Prototype)角色:实现一个克隆自身的操作

四、原型模式的优点和缺点Prototype模式优点:1、可以在运行时刻增加和删除产品2、可以改变值以指定新对象3、可以改变结构以指定新对象4、减少子类的构造5、用类动态配置应用

Prototype模式的缺点:Prototype模式的最主要缺点就是每一个类必须配备一个克隆方法。而且这个克隆方法需要对类的功能进行通盘考虑,这对全新的类来说不是很难,但对已有的类进行改造时,不一定是件容易的事。

学习php设计模式 php实现原型模式(prototype)(php 设计模式 鸟哥)

五、原型模式适用场景1、当一个系统应该独立于它的产品创建、构成和表示时,要使用Prototype模式2、当要实例化的类是在运行时刻指定时,例如动态加载3、为了避免创建一个与产品类层次平等的工厂类层次时;4、当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些

六、原型模式与其它模式

抽象工厂模式(abstract factory模式):Abstract Factory模式与Prototype模式在某种方面是相互竞争的,但是也可以一起使用。

七、原型模式PHP示例

补充:浅拷贝与深拷贝

浅拷贝被拷贝对象的所有变量都含有与原对象相同的值,而且对其他对象的引用仍然是指向原来的对象。即 浅拷贝只负责当前对象实例,对引用的对象不做拷贝。

深拷贝被拷贝对象的所有的变量都含有与原来对象相同的值,除了那些引用其他对象的变量。那些引用其他对象的变量将指向一个被拷贝的新对象,而不再是原有那些被引用对象。即 深拷贝把要拷贝的对象所引用的对象也都拷贝了一次,而这种对被引用到的对象拷贝叫做间接拷贝。深拷贝要深入到多少层,是一个不确定的问题。在决定以深拷贝的方式拷贝一个对象的时候,必须决定对间接拷贝的对象是采取浅拷贝还是深拷贝还是继续采用深拷贝。因此,在采取深拷贝时,需要决定多深才算深。此外,在深拷贝的过程中,很可能会出现循环引用的问题。

利用序列化来做深拷贝利用序列化来做深拷贝,把对象写到流里的过程是序列化(Serilization)过程,但在业界又将串行化这一过程形象的称为“冷冻”或“腌咸菜”过程;而把对象从流中读出来的过程则叫做反序列化(Deserialization)过程,也称为“解冻”或“回鲜”过程。在PHP中使用serialize和unserialize函数实现序列化和反序列化。

在上面的代码中的注释就是一个先序列化再反序列化实现深拷贝的过程。

标签: php 设计模式 鸟哥

本文链接地址:https://www.jiuchutong.com/biancheng/281546.html 转载请保留说明!

上一篇:PHP中Enum(枚举)用法实例详解(php枚举类)

下一篇:学习php设计模式 php实现工厂模式(factory)(php设计模型)

  • 企业存款利息收入缴纳企业所得税吗
  • 出租车定额发票真伪查询
  • 所得税交多了怎么办
  • 工程材料发票备注要求
  • 劳务派遣的开票规范
  • 什么样的个体需要纳税
  • 一个营业执照可以开几家淘宝店
  • 企业支付的
  • 广告合同印花税率怎么算
  • 报关单报关没做收入怎么办
  • 砂石的资源税怎么算
  • 成品油一般经营企业交什么税
  • 税务一般纳税人
  • 停工损失会计科目
  • 购进一台空调会计分录
  • 印花税销售收入按50%计算征收
  • 增值税发票查验平台官网网络异常
  • 什么情况下可以取保候审
  • 分公司可以迁移到新公司吗
  • 融资租赁房产如何缴纳房产税
  • 个人将房产无偿赠与他人应交个人所得税吗
  • win11壁纸设置
  • 电脑进入bios关机
  • 跨年的费用可以直接入账吗
  • windows7怎么操作
  • 几种方法解决一个问题的架构图怎么画
  • qq登录界面的设计与实现
  • 收到专利补助费的会计处理
  • sfx.exe
  • 境外代扣代缴企业所得税的计税依据包含企业所得税嘛
  • 购买材料时采购会计分录
  • 斋普尔的景点
  • 没有利润,能否开发票
  • 会计科目结构什么意思
  • php用img显示图片
  • 土地增值税扣除项目税金包括哪些
  • 疯狂世界百科
  • 一学就会的人是天才吗
  • 微信php开发教程
  • 固定资产的销售怎么做账
  • head命令中表示输出文件前5行的参数是
  • which 查找文件
  • 哪一款macbook
  • ubuntu系统日志配置文件
  • 记账凭证的主要作用有
  • 所有者权益总计怎么算沙盘
  • 帝国cms到底好不好
  • 交易性金融资产入账价值怎么计算
  • 专家评审费属于咨询费吗
  • 税控服务费属于增值税减免费?
  • 劳动法辞退员工补偿标准2023
  • 值税多缴税款能退回来吗
  • 劳务派遣公司该不该去
  • 小规模纳税人实行简易征收办法
  • 劳务关系需要交税吗
  • 不签订购销合同的后果
  • 个贷系统平账专户A户付款会计分录
  • 我国税收税类中的流转税
  • 差旅费退回怎么写
  • 单位车辆转籍
  • 外购的货物发生下列用途时,不能抵扣进项税额的是
  • 先清卡后报税影响申报吗
  • 企业申请支付宝账号步骤
  • sqlserver2005网络配置里没有东西
  • win7如何设置电脑输入法
  • 0x81000204错误
  • 电脑开机显示微信号怎么回事
  • win8.1卸载软件在哪里
  • win7系统怎么截图然后保存
  • 游戏引擎的重要性
  • 批处理常用命令总结
  • 11月编程语言排行榜出炉
  • qt搭建opencv
  • js中new操作符工作原理
  • windows安装包下载
  • android广播接收器数量达到1000
  • python如何获取
  • 月收入28000的个税
  • 江西企业社保缴费基数查询
  • 辽宁国税征期日历
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设