本文首发于 http://www.YoungZY.com/
原文网址:Prototype Pattern
意图
- 创建指定对象的原型实例,然后通过复制这个原型来创建更多的实例
- 指派一个类的一个实例用于育种该类的未来所有的实例
new
操作是危险的
问题
应用程序在使用 new
操作时跟对象产生了“硬连接”(耦合)。
讨论
定义一个可供“克隆”的接口方法,维护一个包含所有“可克隆”的具体衍生类的“注册表”。每一个类都具有“多态性”:继承自基类或者接口,注册它的原型实例,实现了“克隆”方法。
作为客户端,不用再使用跟跟类名“硬连接”的 new
操作了,而是调基类的 clone
方法,通过字符串或者枚举值类型来指定具体的衍生类。
近期评论