原型是反模式吗?

Is Prototype an anti pattern?

当 Joshua Bloch 提到 Cloneable 接口在 Java 中被破坏时,为什么使用 clone() 方法来促进对象创建的 Prototype 模式在 [=14] 中不被视为反模式=] 发展?

"It's a shame that Cloneable is broken, but it happens." - Joshua Bloch

不,原型不是反模式。

Prototype Design Pattern 与语言无关。它适用于许多其他面向对象的编程语言,并且有多种可能的实现。

虽然设计到 Java class 库中的实现确实是 broken,但这并不意味着模式也被打破了。这意味着如果你想在你的设计中使用这个模式,你应该远离对它的内置支持,而是自己制作。