原型模式,Prototype
来源:互联网 发布:淘宝怎么打假 编辑:程序博客网 时间:2024/05/30 04:53
原型模式的定义是:
使用原型的实例指定要创建对象的类型,然后通过复制这个原型创建新的对象。
其UML类图的示例如下:
在这个模式中,参与者包括:
- Prototype:声明一个接口用于克隆其自身。
- ConcretePrototype:实现克隆其自身的操作。
- Client:通过让原型克隆其自身创建一个新的对象。
实现代码:
public interface Prototype{ Prototype Clone();} public class ConcretePrototypeA : Prototype{ public Prototype Clone() { // Shallow Copy: only top-level objects are duplicated return (Prototype)MemberwiseClone(); // Deep Copy: all objects are duplicated //return (Prototype)this.Clone(); }} public class ConcretePrototypeB : Prototype{ public Prototype Clone() { // Shallow Copy: only top-level objects are duplicated return (Prototype)MemberwiseClone(); // Deep Copy: all objects are duplicated //return (Prototype)this.Clone(); }}
使用场景:
- 每个对象的创建成本很高或很复杂。
- 数量有限的状态组合存在于对象中。
0 0
- 原型模式 Prototype模式
- 原型模式 Prototype模式
- 原型模式:prototype模式
- 原型模式 Prototype模式
- Prototype模式(原型模式)
- 原型模式:prototype模式
- 原型模式(Prototype)
- 原型模式(prototype)
- 原型(Prototype)模式
- 原型模式(Prototype Pattern)
- 原型(ProtoType)模式
- 原型模式(Prototype Pattern)
- 原型模式(Prototype Pattern)
- 原型模式 Prototype Pattern
- Prototype 原型模式
- 原型模式(Prototype)
- 原型模式 Prototype Pattern
- Prototype 原型模式
- 一个工程中,Xcode打开多个标签、窗口
- uva 1341 - Different Digits(数论+bfs)
- 1069. The Black Hole of Numbers
- GNU/Linux 初學之旅
- Mac下遇到的mysql问题集
- 原型模式,Prototype
- 在Sae搭建WordPress情侣博客
- 关于何时使用继承和何时使用组合的做法
- linux命令 exec
- sqlite3的C语言API操作数据库的实例分析
- 阻塞与非阻塞I/O,I/O复用,同步和异步I/O
- 黑马程序员---Java初步
- 关于内核代码阅读
- PBDOM操作XML文档轻松入门