Prototype是反模式吗?

时间:2015-09-11 15:26:23

标签: java design-patterns cloneable prototype-pattern

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

  

"令人遗憾的是Cloneable被破坏了,但它确实发生了。" - 约书亚布洛赫

1 个答案:

答案 0 :(得分:9)

不,Prototype不是反模式。

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

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