1 / 26
文档名称:

7 c#设计模式原型模式.ppt

格式:ppt   大小:2,552KB   页数:26页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

7 c#设计模式原型模式.ppt

上传人:12345 2017/5/22 文件大小:2.49 MB

下载得到文件列表

7 c#设计模式原型模式.ppt

文档介绍

文档介绍:www . ChinaSA . info D esign P atterns D esign P atterns 原型模式原型模式刘伟(Sunny) weiliu_china@ www . ChinaSA . info 大纲?原型模式概述?原型模式的结构与实现?原型模式的应用实例?原型管理器?原型模式的优缺点与适用环境 www . ChinaSA . info 原型模式概述?孙悟空“拔毛变小猴” www . ChinaSA . info 原型模式概述?分析?孙悟空:根据自己的形状复制(克隆) 出多个身外身?软件开发:通过复制一个原型对象得到多个与原型对象一模一样的新对象 www . ChinaSA . info 原型模式概述?原型模式的定义?对象创建型模式原型模式: 使用原型实例指定待创建对象的类型,并且通过复制这个原型来创建新的对象。 Prototype Pattern: Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype . www . ChinaSA . info 原型模式概述?原型模式的定义?工作原理: 将一个原型对象传给要发动创建的对象(即客户端对象),这个要发动创建的对象通过请求原型对象复制自己来实现创建过程?创建新对象(也称为克隆对象)的工厂就是原型类自身, 工厂方法由负责复制原型对象的克隆方法来实现?通过克隆方法所创建的对象是全新的对象,它们在内存中拥有新的地址,每一个克隆对象都是独立的?通过不同的方式对克隆对象进行修改以后, 可以得到一系列相似但不完全相同的对象 www . ChinaSA . info 原型模式的结构与实现?原型模式的结构 prototype Client -- prototype copy : Prototype : Prototype + Operation () ... ...... copy = (); ...... Prototype + Clone () ... : Prototype ConcretePrototypeA + Clone () ... : Prototype ConcretePrototypeB + Clone () ... : Prototype return copy of this www . ChinaSA . info 原型模式的结构与实现?原型模式的结构?原型模式包含以下 3个角色: ? Prototype (抽象原型类) ? ConcretePrototype (具体原型类) ? Client (客户类) www . ChinaSA . info 原型模式的结构与实现?浅克隆与深克隆?浅克隆(Shallow Clone) :当原型对象被复制时, 只复制它本身和其中包含的值类型的成员变量,而引用类型的成员变量并没有复制 www . ChinaSA . info 原型模式的结构与实现?浅克隆与深克隆?深克隆(Deep Clone) :除了对象本身被复制外, 对象所包含的所有成员变量也将被复制