原始模型(Prototype)模式学习笔记
2006-09-03 10:09
441 查看
原始模型模式其实就是“克隆”,当我们的系统需要对模型对象(MVC中的M)复制一份的时候非常有用。采取这种模式就免去了我们必须知道一些细节才能实例化。
原始模型模式分为两种两种表现形式:第一种是简单形式,第二种是登记形式,区别无非在于后者有一个管理器。管理器的好处是可以防止重复复制,减少资源浪费。
说到“克隆”就不能不说浅复制和深复制
浅复制(浅克隆)是指只复制当前对象和其基本数据类型的值,对其属性域(字段)的对象引用不复制。如private int i;值会被复制,而private String s;则只是复制了一下引用,两者仍然指向同一个实例,说白了仍然是复制了一下值,只不过复制的是地址值(理解java的值传递就比较容易理解这个)
深复制(深克隆)相反,将对象也复制一份。这里就要小心,是否出现循环的情况。用序列化+io操作可以轻易实现深复制。只需要被复制的对象实现Serializable接口。问题:如果属性域对象没有实现Serializable接口呢?
原始模型模式分为两种两种表现形式:第一种是简单形式,第二种是登记形式,区别无非在于后者有一个管理器。管理器的好处是可以防止重复复制,减少资源浪费。
说到“克隆”就不能不说浅复制和深复制
浅复制(浅克隆)是指只复制当前对象和其基本数据类型的值,对其属性域(字段)的对象引用不复制。如private int i;值会被复制,而private String s;则只是复制了一下引用,两者仍然指向同一个实例,说白了仍然是复制了一下值,只不过复制的是地址值(理解java的值传递就比较容易理解这个)
深复制(深克隆)相反,将对象也复制一份。这里就要小心,是否出现循环的情况。用序列化+io操作可以轻易实现深复制。只需要被复制的对象实现Serializable接口。问题:如果属性域对象没有实现Serializable接口呢?
相关文章推荐
- 设计模式学习笔记--Prototype原型模式
- 阿Sam的设计模式学习笔记---- 原型(Prototype)模式
- HeadFirst 设计模式学习笔记19--原型(Prototype)模式拾零
- 设计模式学习笔记--工厂(Factory)、建造(Builder)和原型(Prototype)
- Microsoft .NET 的企业解决方案模式 > Web 表示模式 > 模型-视图-控制器(学习笔记四)
- 【设计模式学习笔记五】【创建型模式】【原型模式(Prototype)】
- 设计模式学习笔记——原型(Prototype)框架
- 设计模式学习笔记(六)——Prototype原型模式
- 设计模式学习笔记(四)——Prototype原型
- C#面向对象设计模式纵横谈 学习笔记6 Prototype 原型(创建型模式)
- 设计模式学习之--PROTOTYPE(原型)对象创建型模型
- 设计模式学习笔记_原型模式(prototype)
- 《Java与模式》选读“原始模型(Prototype)模式”
- (C++设计模式) ------原始模型模式 Prototype -- 创建型模式
- Spring学习笔记 关于Spring创建Bean的模式-Singleton(单例模式)和Prototype
- 模型-视图-控制器——系统结构模式学习笔记
- 设计模式之Prototype的学习笔记
- 设计模式学习笔记——Prototype原型模式
- java 设计模式学习笔记四 prototype模式
- 步步为营 .NET 设计模式学习笔记 五、Prototype(原型模式)