火龙果会员
注册 找回密码
每月超过20万元免费资源,目前收到捐助29
您可以捐助,支持我们的公益事业。
1元 10元 50元 100元
 验证码,看不清楚?请点击刷新验证码 必填
  要资料 文章 文库 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
   
  .Net 栏目
 
浏览(1945 次) 下载 (19 次)    
 
设计模式:Prototype (已逆向)
把一个实例当作原型实例,采用复制原型实例的方式快速创建,并把差异的部分修 改。这样效率更高。
keywords:C# ,设计模式,Prototype
来源:   火龙果      更新日期:2015-6-16
评价       
 
 
设计模式:FactoryMethod
作者:俎涛
 
 问题  创建多个对象,这些对象大同小异,全新创建造成创建耗时耗力。
 环境  对象属于同类,不同实例的大部分的属性相同,只有小部分有差异。
 解决方案  把一个实例当作原型实例,采用复制原型实例的方式快速创建,并把差异的部分修改。这样效率更高。
 例如:轨道(track)和灯(light)的属性基本一样,要创建多个轨道和灯,则采用克隆方法,克隆大部分属性。轨道和灯具有类似的属性和方法,则抽象成设备(device ),这样可以提供统一的对外接口。
 效果  克隆对象的方式更简单,创建效率更高。
 实例  多个轨道和灯的克隆创建
 
结构类图:
 
用例模型:
 
 用例名称  初始化设备并工作
 用例概述  1. 创建 轨道1,
 2. 设置轨道1的属性:宽、高、重量,
 3. 轨道1 启动;

 4. 克隆轨道1为轨道2 ,
 5. 轨道2停止。

 6. 创建 灯1,
 7. 设置轨道1的属性:宽、高、重量,
 8. 灯1启动,

 9. 克隆灯1为灯2 ,
 10. 等2停止
 
设计类图:
 
顺序图:
 
代码目录:
主程序Program.Main():
运行效果:
 
 
 


 


 
 
 
每天2个文档/视频
扫描微信二维码订阅
订阅技术月刊
获得每月300个技术资源
 
希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
频道编辑:winner
邮       件:winner@uml.net.cn

关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号