首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Prototype形式学习笔记

2012-08-29 
Prototype模式学习笔记适用情况:当一个系统要生产很多种产品(这些产品可能构成复杂的层次结构)时,想避免生

Prototype模式学习笔记

适用情况:当一个系统要生产很多种产品(这些产品可能构成复杂的层次结构)时,想避免生成和产品种类个数(以及产品层次结构)相同的实体工厂。或者说某些种产品会临时加入到生产线,当前没有一个工厂知道怎么生产这种产品(初始化产品)或者生产一次产品的代价很大。

?

?解决方案:将每一种产品的一个实例(或者多个实例,每个实例代表这种产品的一种初始化状态)作为一个prototype,所有产品都有一个clone()接口用来复制产品实例本身。?这样当系统需要一种产品时,只要调用这种产品对应的prototype的clone()方法就行了。

类图:

?


Prototype形式学习笔记
?

?

?

? GOF中的例子:




Prototype形式学习笔记
?
?
?? 实际应用:最典型的应用应该是当产品对象是动态加载的,比如说从数据库或者从网络加载的。这样的话要再生成一次对象代价很大(重新读数据库),或者说不可能(网络传输已经断开)。于是就以第一次生成的对象作为prototype来生产后面的对象。

?

?? 与其它设计模式的比较:TBD

热点排行