0

我正在阅读有关原型创建设计模式的信息,并遇到了一条信息,该信息指出克隆对象比创建新对象更便宜 - 通过调用 new 运算符。

这是真的吗?如果是,为什么会这样?

谢谢

4

1 回答 1

2

克隆确实需要创建一个新对象,因此您不会在初始化的创建部分上节省太多。但是,您可以节省初始化的其他元素:

  • 如果一个对象需要填充集合,并且构造函数采用未知数量的元素,则克隆例程可以通过预先调整集合的大小来节省一些处理。
  • 如果对象在其构造函数中创建不可变对象,则原型可以将对其自身对象的引用直接设置到结果对象中。由于这些引用的内部对象是不可变的,因此可以共享它们。这样,您的系统将节省创建这些依赖对象的时间。
于 2013-10-26T22:18:12.150 回答