原型模式

Posted by 程序亦非猿 on 2016-08-03

设计模式专题系列: 设计模式

原型模式

当创建给定类的实例的过程很昂贵或很复杂时,就使用原型模式(Prototype Pattern)。

UML

原型模式允许你通过复制现有的实例来创建新的实例(在Java中,这通常意味着使用clone()方法,或者反序列化)。

原型模式的重点在于,客户端的代码在不知道要实例化何种特定类的情况下,可以制造出新的实例。(?不太理解)

用途:

  1. 在一个复杂的类层次中,当系统必须从其中的许多类型创建新的对象时,可以考虑原型。

优点:

  1. 向客户隐藏制造新实例的复杂性。
  2. 提供客户能够产生位置类型对象的选项。
  3. 在某些环境下,复制对象比创建对象更有效。

缺点:

  1. 对象的复制有时相当复杂。

## See also
Prototype_pattern