• 静思
  • 吴言片语
    • 吴言
    • 片语
    • 杂七杂八
  • 死于青春
    • 一路走好
  • 乌合麒麟
  • 纪念
    • 5.12
    • 3.23
  • GitHub
    • A List of Post-mortems
    • The Art of Command Line
  • 关于
    • Privacy Policy

程序员的信仰

金鳞岂是池中物,一遇风云便化龙

HOME » 技术生活 » 原型模式(Prototype)

原型模式(Prototype)

2005 年 4 月 12 日 @ 上午 12:30 by Jay | 被踩了 2,798 脚

TOC

Toggle
  • 一、概述
  • 二、结构
    • 1、简单形式
    • 2、登记形式
  • 三、浅克隆与深克隆
  • 四、动机
  • 五、优缺点

一、概述

原型模式属于对象创建模式,通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个对象的方法创建出更多同类型的对象。

二、结构

1、简单形式

o_prototype1

Client:提出创建对象的请求

Prototype:抽象角色,给出所有具体原型类所需的接口

ConcretePrototype:被复制的对象

2、登记形式

o_prototype2

PrototypeManager:创建并记录具体对象

三、浅克隆与深克隆

浅克隆:仅做refrence一级的克隆,refrence所指的对象不被克隆

深克隆:将refrence所指的对象进行递归克隆,需考虑克隆深度及循环克隆问题

四、动机

替换较复杂的等级结构的工厂方法

五、优缺点

  1. 允许动态地增加或减少产品类,且对整个现有的产品结构没有影响
  2. 提供简化的创建结构
  3. 具有动态加载新功能的能力
  4. 产品类不需要有确定的等级结构
  5. 每一个类必须配备一个克隆方法


-- EOF --

除非注明(如“转载”、“[zz]”等),本博文章皆为原创内容,转载时请注明: 「转载自程序员的信仰©」
本文链接地址:原型模式(Prototype)

分享

  • 点击分享到 Facebook (在新窗口中打开) Facebook
  • 点击以分享到 X(在新窗口中打开) X
  • 更多
  • 点击分享到Reddit(在新窗口中打开) Reddit
  • 点击分享到Telegram(在新窗口中打开) Telegram
  • 点击以在 Mastodon 上共享(在新窗口中打开) Mastodon

赞过:

赞 正在加载……

相关

Today on history:

【2012】评论:创业团队成员的「挑战」以及「成长」的问题
【2010】世界杯了,买俩扎库米热热身
【2007】美国杂笔(一)
Posted in: 技术生活 Tagged: design pattern
← static与final变量
北京的气候 →

android (9) apple (20) augmentum (9) Beijing (21) bt (8) career (28) coding (38) firefox (10) google (36) hibernate (11) ibm (11) iphone (10) java (93) linux (16) m$ (26) mac (58) macos (27) nazca (9) olympics (8) oo (8) playstation (10) rip (8) Shanghai (39) spring (9) tips (45) tommy emmanuel (8) ubuntu (12) usa (23) windows (9) 北航 (17) 博客 (29) 吐槽 (8) 周末 (9) 和谐社会 (26) 小资 (11) 愤青 (40) 方言 (10) 朋友 (77) 歌词 (8) 烟酒不分家 (18) 爱国 (19) 爱情 (8) 犯二 (15) 破解 (8) 足球 (11)

烫手山芋

  • 再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~ - 被踩了 27,334 脚
  • 生活,就是一个期待跟着一个期待 - 被踩了 21,357 脚
  • 星巴克饮品缩写大全(Starbucks Drink ID Codes)[zz] - 被踩了 18,406 脚
  • 从一个全角冒号说一下我为什么不感冒iOS - 被踩了 14,314 脚
  • 有关Character.isLetter()和Character.isLetterOrDigit() - 被踩了 13,590 脚

刚拍的砖

  • leo 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 花 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》
  • 无名氏 发表在《从一个全角冒号说一下我为什么不感冒iOS》
  • Jay 发表在《Mac OS geek级问题》
  • Wei Wang 发表在《再谈苹果的输入法:这一次是靠OS X自带的输入法来翻身的~》

随便看看

  • 又见方言rap9 年 ago
  • 一瓶二锅头,一袋酒鬼花生,一个铁哥们儿,就他妈短一月亮19 年 ago
  • 常用非标准库9 年 ago
  • OO基本概念9 年 ago
  • WebP测试9 年 ago

文以类聚

光阴似箭

其他操作

  • 登录
  • 条目 feed
  • 评论 feed
  • WordPress.org

Copyright © 2025 程序员的信仰.

Jay's Omega WordPress Theme by Jay

 

正在加载评论...
 

    %d