游客:
注册
|
登录
|
帮助
网友俱乐部
»
网络编程
»
NET教程
» 一番话--原型模式
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
免费存储空间,免费网络硬盘
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: 一番话--原型模式
问天
元帅
UID 11493
精华
187
积分 34201
帖子 33353
威望 91
金币 13148
热心 2617
阅读权限 100
注册 2006-4-7
状态
在线
#1
使用道具
发表于 2007-2-20 11:27
资料
个人空间
主页
短消息
加为好友
一番话--原型模式
今天来晚了,因为公司周一很多事情要做,而我昨天晚上没有睡好,来了以后什么事情没做先睡了一个上午。:(幸好老板在开会hiahia.不过下次就没有这么幸运了,要是有孙猴子的分身法,随便克隆一个我放在那里干活儿,我睡觉多好呀。。。。所以今天就介绍一下原型模式(prototype)
有时候,我们所要创建的对象大致上都很相似,只是在部分属性的值上有所区别,而且,他们的初始化过程相对来说比较复杂,需要耗费一定的时间,那么我们可以使用原型模式。首先初始化一个一个类的一个实例,然后其他的实例通过对第一个实例的克隆来创建。然后,或者在克隆方法(clone)中处理他们的不同,或者由调用方来处理,这要看哪个更关心他们的差异。如果调用方根本不关心他们的差异,那么就应该有拷贝方法来处理他们的差异并返回实例。
这个模式在<设计模式>中是这样写的:
用原型实例制定创建对象的种类,并且通过拷贝这些原型创建新的对象。
他的适用性:
当一个系统应该独立与他的产品的创建、构成、呵表示时。(也就是说,调用方不关心他所调用的对象是怎么创建的,内部结构是怎么样的,这些由克隆方法来处理)
为了避免创建一个与产品类层次平行的工厂类层次时(我们在前面介绍了工厂方法,一个工厂类可以有多个工厂方法,分别创建不同的产品,当一个工厂类只有一个工厂方法,那么这个工厂类和它的产品的接口就处于一个平行的层次,这时候为了避免创建太多的工厂类,导致结构复杂,可以是用原型模式)。
当一个类的视力只能有几个不同状态组合中的一种时,建立相应数目的原型并克隆他们可能比每次用合适的状态手工市里花该类更方便(这个就是我们上面讲的所谓初始化问题)
网友
问天
签名 - 网友社区
请您回个帖。谢谢
PR查询
免费域名
免费空间
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-10-11 19:11
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP